Что такое id и class в HTML — и когда что использовать
Введение
Начиная более углубленно работать с HTML, человек сталкивается с тем, что надо одинаковые теги разделять, для этого используются атрибуты id и class, но мало кто из новичков на самом деле понимает в каких ситуациях использовать тот или иной атрибут. В этой статье каждый из атрибутов и разберемся – какой когда использовать.
Чуть-чуть теории
id – это атрибут, который может использоваться в любом теге. Предназначен для уникального (и должен являтся таким) идентификатора элемента, то есть можно использовать только один раз - к одному элементу например:
При упоминании в CSS, обращение к id через #.
class – атрибут, который также может использоваться в любом теге. Он же предназначен, чтобы объединить одни элементы по смыслу, отделив их от других
При обращении к классу используется “.”
Так, у атрибутов одна цель – разделить одни элементы от других, но разные значения: создать уникальное “имя” для тега, и отсоединить одинаковые теги по смыслу/значению от остальных таких же (но не обязательно).
Как же понять: что, когда и где использовать?
Для начала разберемся с атрибутом id.
Во-первых, в иерархии id перебьет class и будет приоритетнее. Во-вторых, id полезен в еще трех случаях, кроме CSS, но начнем с него и далее разберем каждый случай.
У нас есть несколько тегов с разной информацией:
И чтобы их различать, для каждого тега напишем свой, уникальный id:
Так, в дальнейшем, при разработке, программа сразу поймет с каким именно параграфом нужно работать.
Следующий случай – это якорные ссылки, для которых подходят только id.
Суть якорных ссылок в том, чтобы при навигации ссылаться не на ссылку, а на id элемента:
Допустим, как в примере выше, ссылка ссылается на id тега
с контактами.
Второй исключительный случай, связь элементов форм через id. В теге label, атрибут for ссылается именно на id элемента.
Так, информация из формы ввода input будет привязана к элементу с id “user_opinion”, т.к. мы прикрепили его в теге label.
И третий исключительный случай, работа с логической частью, JavaScript, ссылка на id элемента, самый удобный и быстрый способ:
А что будет если продублировать id? В случае с css, это может быть не так критично, но всегда стоит помнить, что программа может выдать не тот результат, который нужен и в навигации, формах и JavaScript это может нарушить всю логику. Поэтому лучше запомнить один id = один элемент.
Теперь перейдем к атрибуту class. Они наоборот объединяют элементы в группу по значению или смыслу.
Например, представим что разрабатывается сайт с не построчным видом, а все элементы размещены в разных секциях, блоках, поэтому в CSS будет использоваться flexbox
Для этого мы создаем класс, в котором будет несколько элементов
При обращении к классу в CSS, изменения будут применены ко всем div.
Так, ко классам можно провести аналогию с функцией – один раз создал и много раз вызываешь. Но разница в назначении этих двух атрибутов, не противоречит мысли использовать их совместно, например:
В этом случае, id и class выполняют разные назначения. Id используется, как якорная ссылка, а class для стилевого оформления.
Заключение
Таким образом, атрибуты id и class – это два инструмента с похожей целью, но разной логикой применения.
id — это уникальное имя для конкретного элемента. Один элемент на странице, один id. Он незаменим там, где важна логика: якорные ссылки, связь элементов формы, работа с JavaScript.
class — это способ объединить элементы по смыслу и применить к ним общие стили. Как функция в программировании: написал один раз – используешь везде, где нужно.
Главное правило, которое стоит запомнить: если вы хотите стилизовать что-то — используйте class. Если вам нужно обратиться к конкретному, единственному элементу — используйте id.