Специфікація HTML дозволяє використовувати періоди (.) В ідентифікаторі:
<img id="some.id" />
Однак використання правила селектора ідентифікатора CSS не відповідатиме належним чином:
#some.id { color: #f00; }
Специфікація CSS для селекторів ID не згадує про цей випадок. Тож я припускаю, що він використовує комбінацію імені тегу та селектора класу ? Наприклад, правило CSS a.className
застосовуватиметься до всіх прив'язних тегів ( <a>
) з назвою класу className
, наприклад <a class="className"></a>
.
Чи можна мати правило зовнішнього файлу CSS, яке посилається на елемент HTML за його ідентифікатором, який містить крапку?
Я сподіваюся, що не, оскільки специфікація CSS вказує, що " ідентифікатор " CSS не включає період як дійсний символ. То чи це принципова невідповідність специфікацій HTML та CSS? Чи є моєю єдиною альтернативою використовувати інший тип виділення CSS? Хтось розумніший за мене може це підтвердити чи спростувати?
(Я б видалив крапку з атрибута HTML id, щоб спростити речі, але це ідентифікатор, який генерується системою, тому в цьому випадку я не маю можливості його змінити.)
#some.id
використовується комбінація ідентифікатора та селектора класу.