Элемент становится блоком?

207
29 января 2018, 05:05

на одном из репозиториев нашел код

<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. это законно вообще? или это и есть микс, который автор называет как "новое пространство имён"?

Answer 1

Да, один 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).

В вашем примере имеются два блока:

  • Блок news
  • Блок item-news

И элементы:

  • Элементы блока news:

    • news__title
    • news__list
    • news__item
  • Элементы блока item-news:

    • item-news__title

DOM-узел после закомментированного текста является одновременно блоком item-news и элементом (news__item) блока news

READ ALSO
Расстановка блоков с помощью css

Расстановка блоков с помощью css

Нужно отодвинуть 3-й div, как на рисунке, но у меня почему-то не срабатывает nth-child, что я делаю не так?

223
Нарисовать кривую на CSS?

Нарисовать кривую на CSS?

Подскажите, пожалуйста способ "нарисовать" на чистом CSS максимально похожую кривую с заокругленными угламиЯ пробовал через border-radius и обрезать...

224
создание групповой хранимой функции mysql

создание групповой хранимой функции mysql

Вечер добрыйРодился у меня такой вопрос:

206
Как одним запросом взять информацию из нескольких таблиц? MySQL

Как одним запросом взять информацию из нескольких таблиц? MySQL

Всем привет! Подскажите как одним запросом взять всю информацию о пользователеЯ использовал такой запрос:

196