В вашем первом фрагменте происходит то, что стили #headingGroup
переопределяются базовыми стилями h2
браузера.
Но, как правило, не рекомендуется использовать идентификаторы или даже корневые элементы для CSS. Причина в том, что становится намного сложнее контролировать каскад, переопределять ваши стили позже или повторно использовать ваши стили.
Вместо этого создайте класс, который вы можете напрямую применять к вашим h2
элементам и повторно использовать в других местах, например:
CSS:
.sub-heading {
font-weight: 100;
font-size: 3rem;
}
HTML:
<div id="heading-group">
<h2 class="sub-heading">Some Heading</h2>
</div>
Если вы предпочитаете один класс в контейнере верхнего уровня, вам нужно применить специфичность и стиль h2
, так же, как вы это делали во втором примере. Но использование класса все еще предпочтительнее, чем стилизация под ваш ID. Подумайте, как позже вы захотите применить те же стили к другому блоку! Например:
CSS:
.heading-group h2 {
font-weight: 100;
font-size: 3rem;
}
HTML:
<div id="heading-group-1" class="heading-group">
<h2>Heading for group 1</h2>
</div>
<div id="heading-group-2" class="heading-group">
<h2>Heading for group 2</h2>
</div>