Специфичность и роль
- Class (
.btn) — переиспользуемый хук стилей; специфичность (0,1,0).
- ID (
#header) — уникальный в документе; специфичность (1,0,0) — сложнее переопределить.
Практика: для CSS почти всегда классы (BEM, CSS Modules). ID оставляют для якорей, label[for], JS getElementById. Высокая специфичность ID провоцирует !important и хрупкий каскад.
Атрибутный селектор [id="x"] имеет специфичность класса, но это скорее курьёз, чем стратегия.