Gymterview
junior

В чем разница между #my и .my?

#my — это селектор идентификатора (id), а .my — селектор класса (class).

Характеристика #my (id) .my (class)
HTML-атрибут id="my" class="my"
Уникальность Должен быть единственным на странице Может повторяться на нескольких элементах
Специфичность Высокая (0, 1, 0, 0) Средняя (0, 0, 1, 0)
Применение в JS document.getElementById("my") document.getElementsByClassName("my")
Использование Для уникальных элементов (header, footer) Для группы элементов с общим стилем

Рекомендации

На практике для стилизации предпочтительнее использовать классы, а не идентификаторы:

  • Классы легче переиспользовать
  • Специфичность id слишком высокая — сложнее переопределять стили
  • Методология BEM рекомендует использовать только классы для CSS

На собеседовании: ключевое — разница в специфичности и уникальности. Частая ошибка — не упомянуть, что на практике id для стилизации почти не используется.