:first-child с вложенными элементами

Я хотел бы понять, почему li:first-child нацелен на первый li (CHILD 1) и его дочерние элементы (GRANDCHILD 1.1, GRANDCHILD 1.2, GRANDCHILD 1.3), а остальные дети li (CHILD 2 и CHILD 3) нацелены только на его первый ребенок (ВНУК 2.1 и ВНУК 3.1)

HTML

<body>
    <ul>
      PARENT
      <li>CHILD 1
        <ul>
          <li>GRANDCHILD 1.1</li>
          <li>GRANDCHILD 1.2</li>
          <li>GRANDCHILD 1.3</li>
        </ul>
      </li>
      <li>CHILD 2
        <ul>
          <li>GRANDCHILD 2.1</li>
          <li>GRANDCHILD 2.2</li>
          <li>GRANDCHILD 2.3</li>
        </ul>
      </li>
      <li>CHILD 3
        <ul>
          <li>GRANDCHILD 3.1</li>
          <li>GRANDCHILD 3.2</li>
          <li>GRANDCHILD 3.3</li>
        </ul>
      </li>
    </ul>
  </body> 

CSS

li:first-child {
  background: chartreuse;
} 

Первый <li> является первым дочерним элементом. Таким образом, он полностью окружен bg-цветом и, конечно же, всеми его дочерними элементами. Которые все 1.x.

Riad ZT 09.12.2020 16:25
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
2
1
285
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы добавите border: 1px solid red;, он покажет вам ответ.

li:first-child {
  background: chartreuse;
  border: 1px solid red;
} 

Проверьте это здесь: https://codepen.io/riiiad/pen/dyppZdY

В этом контексте правильно ли утверждать, что ВНУКИ 1.1, 1.2, 1.3 унаследовали свой стиль от ДИТЯ 1?

Jean Carlos 09.12.2020 16:43

Не совсем. CHILD 1 выбирается с помощью вашего селектора, и, поскольку он является контейнером ul и li внутри него, другие элементы просто выглядят так, как будто они имеют тот же цвет bg. Но у них нет такого же css.

Riad ZT 09.12.2020 16:48

Я обновил ответ ссылкой. @ЖанКарлос

Riad ZT 09.12.2020 18:04

Теперь я понял. Спасибо!

Jean Carlos 09.12.2020 19:38

@JeanCarlos Не могли бы пометить ответ как полезный. Рад, что смог помочь.

Riad ZT 10.12.2020 12:31

Другие вопросы по теме