Спецификация HTML допускает использование точек (.) В идентификаторе:
<img id="some.id" />
Однако использование правила селектора идентификатора CSS не будет соответствовать правильно:
#some.id { color: #f00; }
В спецификации CSS для селекторов идентификаторов этот случай не упоминается. Итак, я полагаю, он использует комбинацию имени тега и селектора класса ? Например, правило CSS a.className
будет применяться ко всем тегам привязки ( <a>
) с именем класса className
, например <a class="className"></a>
.
Возможно ли иметь правило внешнего файла CSS, которое ссылается на элемент HTML по его идентификатору, в котором есть точка?
Я не ожидаю этого, поскольку спецификация CSS указывает, что « идентификатор » CSS не включает точку как допустимый символ. Так это фундаментальное несоответствие между спецификациями HTML и CSS? Единственная альтернатива - использовать другой тип выбора CSS? Может ли кто-нибудь умнее меня подтвердить или опровергнуть это?
(Я бы удалил точку из атрибута HTML id, чтобы упростить ситуацию, но это идентификатор, сгенерированный системой, поэтому у меня нет возможности изменить его в этом случае.)