Я постоянно читаю везде, что CSS не чувствителен к регистру, но у меня есть этот селектор
.holiday-type.Selfcatering
который, когда я использую в своем HTML, как это, получает
<div class="holiday-type Selfcatering">
Если я изменю вышеупомянутый селектор, как это
.holiday-type.SelfCatering
Тогда стиль не подобран.
Кто-то лжет.
html
css
css-selectors
Сачин Каинт
источник
источник
Ответы:
CSS-селекторы обычно нечувствительны к регистру; это включает селекторы класса и ID.
Но имена классов HTML являются чувствительно к регистру (определение атрибута), и это вызывает несоответствие в вашем втором примере. Это не изменилось в HTML5 . 1
Это потому, что чувствительность к регистру селекторов зависит от того, что говорит язык документа :
Таким образом, дается HTML - элемент с
Selfcatering
классом , но безSelfCatering
класса, селекторы.Selfcatering
и[class~="Selfcatering"]
будет соответствовать его, в то время как селекторы.SelfCatering
и[class~="SelfCatering"]
не будет. 2Если тип документа определит имена классов как нечувствительные к регистру, то вы получите совпадение независимо.
1 В режиме совместимости для всех браузеров классы и идентификаторы чувствительны к регистру. Это означает, что селекторы с несовпадающим регистром всегда будут совпадать. Это поведение одинаково во всех браузерах по устаревшим причинам и упоминается в этой статье .
2 Что стоит, уровень селекторов 4 содержит предложенный синтаксис для принудительного поиска без учета регистра значений атрибутов с помощью
[class~="Selfcatering" i]
или[class~="SelfCatering" i]
. Оба селектора будут сопоставлять элемент HTML или XHTML либо сSelfcatering
классом, либо сSelfCatering
классом (или, конечно, с обоими). Однако такого синтаксиса для селекторов класса или идентификатора не существует (пока?), Возможно, потому, что они несут семантику, отличную от обычных селекторов атрибутов (с которой не связана семантика), или потому что сложно придумать подходящий синтаксис.источник
div
иDIV
селекторы и совпадали<div>
, но селекторы идентификатора и имени класса должны были быть точно чувствительны к регистру. Если я не понял ваш ответ?DIV
селектор больше не будет совпадать.).selfcatering
и селекторы чувствительны к регистру, поэтому он должен заботиться , является ли классSelfcatering
илиSelfCatering
илиsElfcAtErInG
? Чего мне не хватает?Возможно, не ложь, но необходимость в разъяснениях.
Сам фактический css не чувствителен к регистру.
Например
но имена, они должны быть чувствительны к регистру, чтобы быть уникальными идентификаторами.
Надеюсь, это поможет.
источник
В режиме совместимости все браузеры ведут себя без учета регистра при использовании имен классов и идентификаторов CSS.
Иногда, когда у вас неправильные типы документов, такие как ниже, ваш браузер переходит в режим причуд.
вы должны использовать стандартный doctype
HTML 5
HTML 4.01 Строгий
HTML 4.01 Переходный
HTML 4.01 Frameset
XHTML 1.0 Strict
XHTML 1.0 Transitional
XHTML 1.0 Frameset
XHTML 1.1
если ваш класс CSS или имена идентификаторов ведут себя без учета регистра, проверьте ваш тип документа.
источник
CSS не чувствителен к регистру.
Но в HTML5 класс и ID чувствительны к регистру
Таким образом, свойства CSS, значения, имена псевдоклассов, имена псевдоэлементов, имена элементов не чувствительны к регистру
И класс CSS, id, URL, семейства шрифтов чувствительны к регистру.
примечание: в режиме html quirks css нечувствителен к регистру даже для идентификатора и класса (если вы удалите объявление doctype)
Пример для CodePen: https://codepen.io/swapnilPakolu/pen/MWgvQyB?&editable=true#anon-signup
источник