Может кто-нибудь, пожалуйста, объясните мне причины, по которым проверка тегов является плохой практикой CSS? Почему tag.class является плохим в случаях с самообновленными элементами? Например.
<section class="carousel-item">
<header class="header of-carousel">
<h2 class="heading of-carousel">Services</h2>
</header>
…
<footer class="footer of-carousel">
…
</footer>
</section>
Почему это должно быть лучше, чем DRY и сжатый код с модификаторами контекста?
<section class="carousel-item">
<header class="of-carousel">
<h2 class="of-carousel">Services</h2>
</header>
…
<footer class="of-carousel">
…
</footer>
</section>
.of-carousel {
header.& {…}
h2.& {…}
footer.& {…}
}
Или даже
section.carousel-item
header
h2
footer
.carousel-item {
header {…}
h2 {…}
footer {…}
}
Я вижу, что многие люди пристрастились к BEM, но я не понимаю, почему? Их селекторы настолько уродливы, особенно - в-HTTP-2__ времени.