Задать вопрос
Kurolesov
@Kurolesov
Начинающий девелопер

Как получить всех потомков брата?

Добрый день.
Подскажите, можно ли с помощью комбинаторов CSS задать стили для всех потомков элемента, следующего за текущим?
Например, есть такой код
<div>div1</div>
<div>div2
    <div>div21</div>
    <div>div22</div>
    <div>div23</div>
</div>

Как задать правило используя комбинатор с div1, чтобы свойства применились к div21, div22 и div23?
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В CSS нет понятия "текущий элемент". Всё указывается только с помощью селекторов.
<div id='main'>div1</div>
<div>div2
    <div>div21</div>
    <div>div22</div>
    <div>div23</div>
</div>

#main + div > div { ... }
Ответ написан
Комментировать
или так правильнее
<div id='main'>div1</div>
<div>div2
    <div>div21</div>
    <div><span>div22</span></div>
    <i>div23</i>
</div>


#main + div  * { ... }
Ответ написан
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
div + div > div { 
ваши стили
}

Но в такую конструкцию попадут и другие подобные ситуации. Например, если у внутренних div'ов тоже будут дети.

Так что правильнее задать первому блоку класс (не id)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы