Je continue de lire partout que CSS n'est pas sensible à la casse, mais j'ai ce sélecteur
.holiday-type.Selfcatering
qui quand j'utilise dans mon HTML, comme ça, est ramassé
<div class="holiday-type Selfcatering">
Si je change le sélecteur ci-dessus comme ceci
.holiday-type.SelfCatering
Ensuite, le style n'est pas repris.
Quelqu'un dit des mensonges.
html
css
css-selectors
Sachin Kainth
la source
la source
Réponses:
Les sélecteurs CSS sont généralement insensibles à la casse; cela inclut les sélecteurs de classe et d'ID.
Mais les noms de classe HTML sont sensibles à la casse (voir la définition de l'attribut), ce qui provoque une incompatibilité dans votre deuxième exemple. Cela n'a pas changé en HTML5 . 1
En effet, la sensibilité à la casse des sélecteurs dépend de ce que dit le langage du document :
Donc, étant donné un élément HTML avec une
Selfcatering
classe mais sansSelfCatering
classe, les sélecteurs.Selfcatering
et[class~="Selfcatering"]
correspondront, alors que les sélecteurs.SelfCatering
et[class~="SelfCatering"]
non. 2Si le type de document définissait les noms de classe comme étant insensibles à la casse, vous auriez malgré tout une correspondance.
1 En mode excentrique pour tous les navigateurs, les classes et les ID ne respectent pas la casse. Cela signifie que les sélecteurs ne respectant pas la casse correspondront toujours. Ce comportement est cohérent dans tous les navigateurs pour des raisons héritées et est mentionné dans cet article .
2 Pour ce que ça vaut, le niveau 4 des sélecteurs contient une syntaxe proposée pour forcer une recherche insensible à la casse sur les valeurs d'attribut à l'aide de
[class~="Selfcatering" i]
ou[class~="SelfCatering" i]
. Les deux sélecteurs associeront un élément HTML ou XHTML à uneSelfcatering
classe ou à uneSelfCatering
classe (ou, bien sûr, aux deux). Cependant, il n'existe pas encore de telle syntaxe pour les sélecteurs de classe ou d'ID, probablement parce qu'ils portent une sémantique différente des sélecteurs d'attributs normaux (auxquels aucune sémantique n'est associée), ou parce qu'il est difficile de trouver une syntaxe utilisable.la source
div
etDIV
sélecteurs à la fois adaptés à la<div>
, mais l'identifiant et les sélecteurs de nom de classe ont dû être exactement sensible à la casse. A moins que j'aie mal compris votre réponse?DIV
sélecteur ne correspondrait plus.).selfcatering
et que les sélecteurs ne respectent pas la casse, pourquoi devrait-il se soucier de savoir si la classe estSelfcatering
ouSelfCatering
ousElfcAtErInG
? Qu'est-ce que je rate?Peut-être pas un mensonge, mais un besoin de clarification.
Le CSS lui-même n'est pas sensible à la casse.
Par exemple
mais les noms, ils doivent être sensibles à la casse pour être des identifiants uniques.
J'espère que cela pourra aider.
la source
En mode excentrique, tous les navigateurs se comportent comme ne respectant pas la casse lors de l'utilisation des noms de classe et d'ID CSS.
Parfois, lorsque vous avez de mauvais doctypes comme ci-dessous, votre navigateur passe en mode bizarreries.
vous devez utiliser un doctype standard
HTML 5
HTML 4.01 Strict
HTML 4.01 Transitionnel
Jeu de cadres HTML 4.01
XHTML 1.0 Strict
Transitionnel XHTML 1.0
Jeu de cadres XHTML 1.0
XHTML 1.1
si votre classe CSS ou vos noms d'identifiants ne respectent pas la casse, veuillez vérifier votre doctype.
la source
CSS n'est pas sensible à la casse.
Mais en HTML5, la classe et l'ID sont sensibles à la casse
Ainsi, les propriétés CSS, les valeurs, les noms de pseudo-classe, les noms de pseudo-élément, les noms d'élément ne respectent pas la casse
Et les classes CSS, id, urls, font-families sont sensibles à la casse.
note: en mode excentrique html, le CSS est insensible à la casse même pour l'ID et la classe (si vous supprimez la déclaration doctype)
Exemple sur CodePen: https://codepen.io/swapnilPakolu/pen/MWgvQyB?&editable=true#anon-signup
la source