на одном из репозиториев нашел код
<div class="news">
<h3 class="news__title">Вчерашние новости</h3>
<ul class="news__list">
<!-- к классу элемента добавляем класс блока,
чтобы создать новое пространство имён -->
<li class="news__item item-news">
<h4 class="item-news__title">Соревнования среди воблы по конькобежному спорту</h4>
интересуют конкретно действия после закомментированного текста, в результате которого элемент с классом .news__item становится блоком .item-news. это законно вообще? или это и есть микс, который автор называет как "новое пространство имён"?
Да, один DOM-узел может быть одновременно и элементом и блоком, это совершенно нормально и называется микс. Вот пример из официальной документации (по ссылке):
<!-- Блок `header` -->
<div class="header">
<!-- К блоку `search-form` примиксован элемент `search-form` блока `header`-->
<div class="search-form header__search-form"></div>
</div>
В примере выше преимущество такого подхода заключается в том, что позиционирование внутреннего DOM-узла (который одновременно и элемент и блок) может быть задано в стилях элемента (.header__search-form), а собственные стили могут быть написаны в блоке (.search-form).
В вашем примере имеются два блока:
newsitem-newsИ элементы:
Элементы блока news:
news__titlenews__listnews__itemЭлементы блока item-news:
item-news__titleDOM-узел после закомментированного текста является одновременно блоком item-news и элементом (news__item) блока news
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости