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 для стилизации почти не используется.