Есть ли зарезервированные ключевые слова для значений атрибутов в HTML?

Я имею в виду, есть ли слова, которые мы не должны использовать в качестве <tag class='reserved' />, класс, идентификатор или что-то еще?

Я планировал стилизовать ссылки с помощью класса "link", это хорошая идея?

2 ответа

Зарезервированных ключевых слов для class атрибут с предупреждением о том, что использование специальных символов, отличных от букв, цифр или подчеркивания в имени, или начало имени с цифры, затрудняет использование его в качестве селектора CSS.

Проверьте спецификацию HTML:

Атрибут, если указан, должен иметь значение, представляющее собой набор разделенных пробелами токенов, представляющих различные классы, к которым принадлежит элемент.
...
Никаких дополнительных ограничений на токены, которые авторы могут использовать в class атрибут, но авторам рекомендуется использовать значения, которые описывают характер контента, а не значения, которые описывают желаемое представление контента.

... где набор разделенных пробелами токенов - это именно то, что вы думаете, и не имеет никаких других ограничений.

Когда класс используется в качестве селектора CSS...

... грамматика CSS вступает в игру. Имя CSS может содержать:

  • буквенно-цифровые символы [a-zA-Z0-9]
  • подчеркивание _
  • дефис -
  • выберите не ASCII/ расширенные символы ASCII (восьмеричные \240-\377 - включает в себя общие символы, буквы с диакритическими знаками и т. Д.)
  • или персонаж сбежал от \, Экранированные символы могут быть кодовой точкой Unicode (до шести байтов, оканчивающейся пробелом, например, обычным пробелом). " " (если необходимо) или не буквенно-цифровой символ.

Кроме того, имя не может начинаться с (буквального) числа или дефиса, поэтому их необходимо экранировать. Поскольку экранированный символ не должен быть буквенно-цифровым (особенно 0-9 или же a-f (чтобы я мог отличить от точек Юникода, я полагаю), значение Юникода должно использоваться, если имя селектора начинается с цифры.

Пример (отмечая, что \32 значение Юникода для 2):

...
<style>
  .\32 34 { color: red; }
  .big-\$-G { color: green; } /* the color of money */
</style>
...
<div class="234">Some text here.</div>
<div class="big-$-G">This is in the "big-$-G" class.</div>
...

На мой взгляд, использование "ссылки" в качестве имени класса для ссылок хорошо, если оно применяется ко всем ссылкам, которые вы будете определять. В противном случае используйте что-то вроде "ImportantLinks", "MainLinks" и т. Д.

Я считаю, что это нормально использовать слово link для именования классов. Тем не менее, постарайтесь дать ему более явное имя, чтобы оно не конфликтовало с другим кодом в будущем.

Просто зайдите в источник такого фреймворка, как bootstrap, и посмотрите, как они называют свои классы.

Использовать пространство имен

В случае JavaScript и JSX (JavaScript XML) есть некоторые атрибуты HTML, которые зарезервированы только для JavaScript, а не для JSX. Например, 1. класс 2. для

Другие вопросы по тегам