Класс или идентификатор на теге тела
В последнее время я применяю идентификатор тега body моих HTML-документов чтобы увеличить управление CSS (# 9). Недавно мне пришло в голову, что я могу сделать то же самое, применив класс к тегу body. Я хочу знать положительные и отрицательные стороны каждого выбора. Если у меня есть несколько страниц, где тег body имеет одинаковый идентификатор, лучше ли использовать класс? Как вы думаете? Почему?
UPDATE: класс /ID - это в основном то, что я намереваюсь использовать для определения таблицы стилей, на страницу или тип страницы которой применяется стильная таблица. Например, это главная страница, страница контактов, одна из многих страниц результатов поиска, страница архива и т.д.?
Ответы
Ответ 1
Использование класса вполне приемлемо, возможно, больше, чем использование id. Использование идентификаторов должно быть ограничено как можно больше, потому что они могут столкнуться с другими идентификаторами и разбивать такие вещи, как document.getElementById
.
Селектор id более специфичен, чем селектор классов, который обычно делает его лучшим выбором для вашего варианта использования. - Дэвид Дорвард
Однако высокая "специфичность" не всегда желательна. Рассмотрим body#faq #col_b a {color:gray;}
в главной таблице стилей, а затем кто-то разработает плагин с серым фоном, который идет на странице faq, теперь им нужно использовать !important
или создать другой атрибут id, чтобы получить более высокую специфичность.
Также рассмотрим использование нескольких классов в одном элементе body:
<body class="faq two_column big_footer"> ...
Ответ 2
Селектор id больше specific, чем селектор классов, что обычно делает его лучшим выбором для вашего варианта использования.
Ответ 3
Идентификатор должен быть уникальным для каждой страницы (если вы хотите иметь действительную разметку), то есть на странице должен существовать только один экземпляр определенного идентификатора.
Классы, с другой стороны, могут применяться к многочисленным элементам на странице. Используйте классы для вещей, которые повторно используют одни и те же стили и используют идентификаторы для более уникальных элементов, которые требуют собственного стиля.
В идеале используйте классы по возможности и ограничивайте использование идентификаторов.
Для получения дополнительной информации о ID см. здесь и более подробно о классах, см. .
Ответ 4
Лучше использовать класс, если вы планируете повторно использовать стиль на страницах. Идентификаторы хороши, если таблица стилей предназначена для конкретной страницы. Но все равно зависит от вашего приложения.
Ответ 5
Вы можете (читать: следует) использовать только идентификатор тега body.
ID = одноразовое использование на странице
Класс = несколько применений
1 Тег body = 1 id тега. Это может быть одинаково на разных страницах. По сути, использование тега класса, вероятно, слишком велико для этой цели.
Ответ 6
В HTML5 атрибут id может использоваться для любого элемента HTML (он будет проверять на любом элементе HTML, но это не обязательно полезно).
В HTML 4.01 атрибут id не может использоваться с: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.
Примечание. HTML 4.01 имеет большие ограничения на содержимое значений id (например, в HTML 4.01 значения id не могут начинаться с числа).
Источник: W3School