Quelqu'un peut-il me dire si le code CSS suivant est valide?
.class {
background-color:none;
}
Vous voulez probablement que transparent
car none
ne soit pas une valeur background-color
valide.
La spécification CSS 2.1 indique les éléments suivants pour la propriété background-color
:
Value: <color> | transparent | inherit
<color>
peut être un mot-clé ou une représentation numérique d'une couleur. Les mots clés color
valides sont:
aqua, noir, bleu, fuchsia, gris, vert, citron vert, marron, marine, olive, orange, violet, rouge, argent, turquoise, blanc et jaune
transparent
et inherit
sont des mots clés valides en tant que tels, mais none
ne l’est pas.
Non, utilisez transparent
à la place none
. Voir exemple de travail ici dans cet exemple si vous changez transparent
en none
cela ne fonctionnera pas
utiliser comme .class { background-color:transparent; }
La réponse est non.
.class {
background-color: none; /* do not do this */
}
.class {
background-color: transparent;
}
background-color: transparent
accomplit la même chose que ce que vous vouliez faire avec background-color: none
.
.class {
background-color:none;
}
Ce n'est pas une propriété valide. Le validateur W3C affichera l'erreur suivante:
Erreur de valeur: couleur d'arrière-plan aucune n'est pas une valeur de couleur d'arrière-plan: aucune
transparent
peut avoir été choisi comme meilleur terme au lieu de 0
ou none
lors du développement de la spécification de CSS.
CSS Level 3 spécifie la valeur de la propriété unset
. De MDN :
Le mot clé CSS non défini est la combinaison des valeurs initiale et héritée mots clés. Comme ces deux autres mots-clés CSS, il peut être appliqué à toute propriété CSS, y compris le raccourci CSS all. Ce mot clé réinitialise la propriété à sa valeur héritée si elle hérite de son parent ou à sa valeur initiale sinon. En d'autres termes, il se comporte comme le inherit mot clé dans le premier cas et comme le mot clé initial dans le deuxième cas.
Malheureusement, cette valeur n'est actuellement pas prise en charge par tous les navigateurs, y compris IE, Safari et Opera. Je suggère d'utiliser transparent
pour le moment.
écrire cela:
.class {
background-color:transparent;
}
Je voudrais donc expliquer le scénario dans lequel je devais utiliser cette solution. En gros, je voulais annuler l'attribut background-color défini par un autre CSS. Le résultat final attendu était de donner l'impression que le CSS d'origine n'avait jamais appliqué l'attribut background-color. Le réglage de background-color:transparent;
a rendu cela efficace.