2012-03-21 31 views
32

Eventuali duplicati:
Are there any good reasons for using hex over decimal for RGB colour values in CSS?CSS - RGB o HEX per il colore

Se uno usare RGB o HEX per i colori nei fogli di stile CSS?

Se uno è preferito più dell'altro, perché?

C'è una differenza per le prove colore futuro, la velocità di elaborazione, migliore compatibilità tra piattaforme/browser ecc

+4

Possibile duplicato di: http://stackoverflow.com/questions/1171422/are-there-any-good-reasons-for-using-hex-over-decimal-for-rgb-colour-values-in-c , http://stackoverflow.com/questions/2054520/it-is-recommendable-to-type-the-colors-name-instead-of-its-hex-value-in-css – Zeta

+0

hex è più veloce da digitare, I indovina, ma rgb ha molte più combinazioni di colori possibili. – Ben

+3

@ Ben In che modo intendi che rgb ha più combinazioni possibili? Hex e RGB si riferiscono entrambi a un punto nello spazio colore sRGB. Hex e RGB sono solo due diverse rappresentazioni della stessa cosa. [CSS spec on color] (http://dev.w3.org/csswg/css-color/#color-type) –

risposta

18

Credo che sia soprattutto una questione di gusto personale se è necessario utilizzare RGB o HEX. Personalmente utilizzo HEX perché mi sembra più comodo: è più facile eseguire la scansione durante la lettura del codice e più facile la copia dall'editor di immagini preferito. Anche per i colori come il bianco (#fff), il nero (# 000) potresti risparmiare alcuni byte (non che farebbe molta differenza).

Alla fine sono solo due diverse rappresentazioni della stessa cosa, e dal punto di vista delle prestazioni non credo che importi. Almeno ci sono molte altre cose che puoi fare per aumentare le prestazioni, che avranno un impatto maggiore sulle prestazioni.

8

In genere, è possibile copiare direttamente il valore esadecimale dall'editor di grafica (da un campo di testo) mentre per RGB non è possibile (i valori RGB vengono solitamente rappresentati tramite tre campi di testo separati). Quindi i valori esadecimali sono almeno più facili per l'uso quotidiano.

Purtroppo, stiamo attualmente costretti ad usare RGB notazione rgba() funzione dal CSSWG non ha speccato un way per specificare i valori RGBA tramite la notazione esadecimale, ma nulla ci costringe a usare la notazione funzionale (rgb()) se non abbiamo bisogno di alpha trasparenza.

Aggiornamento: 8 cifre notazione esadecimale #RRGGBBAA e #RGBA (.. E & thinsp; g #00ffaa80 è equivalente a rgba(0, 255, 170, .5)) è speccato nel CSS Color Module Level 4progetto e attuati in Firefox 49. Sfortunatamente, mentre ci sono patch per altri motori come Chromium e WebKit, le versioni stabili di tutti i browser non basati su Gecko non supportano effettivamente la funzione (WebKit lo ha implementato formalmente dal 2015-11-04, ma in effetti la funzione è non è disponibile almeno in Safari 9.1 e iOS 8.3), quindi Firefox è attualmente l'unica implementazione disponibile e tale notazione non può ancora essere utilizzata in natura, sebbene possa essere utilizzata nelle estensioni di Firefox.

1

Se è per dispositivi (VGA ecc.) -> usa valori RGBA, altrimenti HEX HSL e praticamente tutto funziona.

2

HEX è stabile per un servizio aziendale. È facile da manutenere (preprocessore e work peole firiendly) e molti browser sono supportati.

Ma, il nome del colore non è male se ti piace. È divertente scegliere dalla tavolozza dei colori e molti colori sono già definiti.

E così, è un'appendice. Sto usando il modello di colore HLSA nel mio sito web sperimentale privato adesso. vedi anche se hai un interesse per la nuova bozza CSS3: http://www.w3.org/TR/css3-color/. È molto intuitiva se conosci la regola dei colori del fenomeno della natura.

Problemi correlati