74 votes

Existe-il des inconvénients à l'utilisation de noms de couleur en place de codes de couleur en CSS?

Par exemple l'écriture d' red est plus efficace que l' #cc0000. Il a moins de personnages, prend moins de place, et est plus facile à retenir.

Existe-il des bas côtés à l'aide de noms de couleur sur hex codes ou valeurs RVB? Cela inclut la programmation dans un environnement multi-developer.

26voto

Pointy Points 172438

Différents navigateurs ne sont pas d'accord sur ce que certains noms de couleur moyenne. Il n'y a pas de noms pour tous les 16 millions de couleurs 24 bits. En fait il y a seulement 17 W3C-standard des noms de couleurs. C'est probablement OK pour l'utiliser.

Personnellement, j'utilise un système de template au moment de la construction pour pré-traiter mes fichiers CSS, de sorte que je peux garder un ensemble standard de site, les couleurs et se référer à eux par leur nom. De cette façon je peux obtenir le meilleur des deux mondes: je sais exactement ce que mes valeurs de couleur RVB, mais je peux utiliser des noms plus simples dans le CSS.

(Bien sûr, il n'est pas encore possible de savoir exactement comment la couleur d'oeil sur un navigateur de l'utilisateur.)

15voto

Liyali Points 3551

Je vous recommande de suivre les recommandations du W3C:

Tous d'entre eux (CSS Niveau 1, Niveau 2 et Niveau 3) indiquent que l'utilisation de noms de couleur est parfaitement acceptable, mais dont le montant varie en fonction de la spécification.

Spécification CSS1

Spécification CSS1 recommande d'utiliser des noms de couleurs comme un substitut valable à l'hex codes et les codes RVB.

6.3 Couleur unités

La liste de suggestion de mot-clé nom de couleur est: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, la sarcelle d'hiver, le blanc et le jaune. Ces 16 couleurs sont prises à partir de Windows VGA palette, et leurs valeurs RVB ne sont pas définis dans le présent spécification.

Spécification CSS2

Vous pouvez utiliser le nom de la couleur orange maintenant! Le comte jusqu'à 17 couleurs. Spécification CSS2 pour référence.

CSS3 & X11 Couleurs

CSS3 permet SVG 1.0 X11 couleurs pour être utilisé pour les CSS les propriétés (ainsi que hsl() des valeurs). Ceci augmente la quantité de noms de couleur à 147 couleurs selon mon décompte. L'un de ces noms de couleurs peut être utilisée dans n'importe quel navigateur qui prend en charge le format SVG 1.0 de la spécification, ce qui je crois est IE9 ou plus récent.

Cela signifie également que la liste des couleurs qui sont fournis dans la question sont pour la plupart pas valide.

Utilisation Suggérée

Si vous êtes à la recherche pour soutenir les anciens navigateurs bâton à la sécurité web originale de 16 noms de couleur depuis X11 couleurs ne sont pas pris en charge.

Sinon, l'utilisation de l'un quelconque des 147 noms de couleur spécifié dans le X11 spec, vous êtes libre d'utiliser. Tous les navigateurs doivent être respectueux de la spec en référence à l'équivalent des codes hex. Le temps nécessaire à l'analyseur de lire les noms des couleurs est presque, si ce n'est exactement la même que l'utilisation d'une valeur hexadécimale, rvb ou tsl valeur.

Cependant, tout comme n'importe quoi avec CSS, vous devez vous en tenir à des normes syntaxiques. Mélanger les formats dans le même projet peut être source de confusion. Essayez de coller à une ou un maximum de deux.

8voto

pixeltocode Points 2983

personnellement, je préfère utiliser hexcodes pour 2 raisons

  1. il est plus facile de copier un hexadécimal à partir de Photoshop
  2. vous pouvez utiliser hexcodes tout au long d'une feuille de style, mais vous aurez à mélanger deux styles (hexcodes et des noms de couleurs). si votre feuille de style peut être plus uniforme et cohérente.

Cela suppose que vous êtes en utilisant des couleurs autres que le simple rouge, noir, blanc etc. Dans un environnement multi-developer, je dirais hexcodes sont mieux car ils sont plus universellement compatible (chaque développeur sait exactement ce que la couleur est).

2voto

Stephen Points 11761

Je préfère une poursuite de l'optimisation, #c00 pour le rouge. Si vous allez utiliser une couleur primaire, ou de n'importe quelle couleur est semblable à #aabbcc, vous pouvez utiliser la sténographie, #abc.

1voto

derekerdmann Points 7597

Il vient vraiment à votre style de codage. Je m'en tiens à des valeurs hexadécimales pour des raisons de cohérence - une couleur est toujours formaté en #000 ou #000000, et je n'ai pas à vous soucier de commutation entre namd et les couleurs sans nom.

En fin de compte, c'est une décision que vous et votre équipe devrez faire sur votre propre. Il est tout au sujet de vos préférences.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X