В том, как вы пишете селекторы CSS с помощью символа #
, есть техническая составляющая.Вы всегда можете написать селектор, чтобы использовать селектор атрибутов
[id="1fineday"] {
color:yellow;
}
, и вы увидите желтый текст.
Вы не можете написать #1fineday
вселектор, потому что , как гласит официальная спецификация селектора CSS, :
Идентификационный атрибут языка документа позволяет авторам назначать идентификатор одному экземпляру элемента в дереве документа.,Селектор идентификатора содержит «знак числа» (U + 0023, #), за которым сразу следует значение идентификатора, которое должно быть идентификатором CSS.Селектор идентификатора представляет экземпляр элемента, который имеет идентификатор, совпадающий с идентификатором в селекторе идентификаторов.
Синтаксис для идентификаторов CSS приведен в официальной спецификации со следующими словами:
В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы [a-zA-Z0-9]
и символы ISO 10646 U + 00A0 и выше, плюс дефис (-
) и подчеркивание (_
);они не могут начинаться с цифры, двух дефисов или дефиса, за которым следует цифра.Идентификаторы также могут содержать экранированные символы и любые символы ISO 10646 в виде числового кода (см. Следующий пункт).Например, идентификатор "B & W?"может быть написано как "B \ & W \?"или "B \ 26 W \ 3F".
Поэтому, если вы все еще хотите использовать #
, вам придется использовать код выхода для числа 1:
#\31 fineday {
color:yellow;
}
Благодаря тому, что в комментариях неверно указали на последнюю хитрость и отметили, что правила специфичности различаются между селекторами идентификаторов и атрибутов.