consulta questo articolo. Raccomandano di farlo in modo simile al tuo HR ma usando pseudo elementi invece http://www.sitepoint.com/rainbow-border-with-sass/.
E 'possibile fare border-immagine con ma ha un supporto limitato (http://caniuse.com/border-image) Se siete interessati a questo approccio check out questa penna codice - http://codepen.io/samarkandiy/pen/lvrBn
Qui è qualcosa che ho lavorato fino a mostrarvi come potrebbe funzionare - http://jsfiddle.net/29gPg/
.border {
background-color: black;
background-size: 50px 50px;
display: inline;
float: left;
margin: 15px;
position: relative;
border-width: 20px;
width: 160px;
height: 160px;
}
.border {
border-image: linear-gradient(90deg,
#9b59b6 0%,
#9b59b6 25%,
#34495e 25%,
#34495e 50%,
#f1c40f 50%,
#f1c40f 75%,
#e67e22 75%
) 2%;
border-top-width: 10px;
border-bottom: 0px;
border-left: 0px;
border-right: 0px;
}
Un ultimo pensiero, se si pensa di utilizzare i CSS per modificare questo confine on-the-fly il CSS dovrà essere in linea o altrimenti si dovrà pre- crea un mucchio di immagini di bordi sfumati CSS e applicali tramite il nome della classe.
Modifica - questo border-immagine utilizza, ma funziona solo in WebKit (forse ie11 ma non testato)
Questa domanda ha raggiunto il picco il mio interesse, così sono andato oltre con la demo JSFiddle. http://jsfiddle.net/K2FEm/5/
Edit 2
Ok, quindi sembrerebbe che border-immagine non è supportata da FF a tutti o almeno non con gradienti come illustrato qui - http://css-tricks.com/examples/GradientBorder/.
Tuttavia c'è un trucco è possibile utilizzare, che sarebbe quella di utilizzare lo stesso gradiente (questa volta con il corretto prefisso del browser) come immagine di sfondo e posizionarlo correttamente. È possibile visualizzare i risultati in questo violino qui sotto, se si desidera impostare i vari colori potrete sia necessario scrivere uno script in JS/JQuery per creare dinamicamente i gradienti e poi applicarli agli elementi in linea, o fare come ho e faccio classi predeterminate che possono poi essere applicate a volontà (che in genere è il metodo preferito per ragioni di velocità e di memoria, ma si consiglia di andare con la prima opzione per il bene di flessibilità).
ho costruito il mio primo gradiente manualmente e poi ha ottenuto tutti i prefissi browser con - http://www.colorzilla.com/gradient-editor/ (. Questo è un grande strumento che uso per tutto il tempo)
DEMO
Si potrebbe cercare di utilizzare un gradiente stesso che nel vostro secondo link esempio con 'border-image', anche se non sono sicuro se in realtà specifica permette che (e pigro per la ricerca ora). E l'alternativa sarebbe quella di usarlo esattamente come _is_ in quell'esempio - solo con uno pseudo elemento di contenuto generato posizionato nella parte superiore dell'elemento che si desidera avere un tale bordo superiore, in modo che nessun elemento aggiuntivo debba essere inserito nel markup. – CBroe
si ho costruito una demo e tutto, vedere la mia risposta qui sotto. – Ian