Столкнулся с проблемой: нужно разместить стиль для соседей, которые находится слева от элемента. В моём случае, нужно, чтобы ul
элемент красил элемент a
в красный.
Вот мой html код:
<ul>
<li><a href="javascript://">Пункт 1</a></li>
<li><a href="javascript://">Пункт 2</a></li>
<li><a href="javascript://">Пункт 3</a></li>
<li><a href="javascript://">Пункт 4</a>
<ul>
<li><a href="javascript://">Пункт 1</a></li>
<li><a href="javascript://">Пункт 2</a></li>
<li><a href="javascript://">Пункт 3</a></li>
<li><a href="javascript://">Пункт 4</a></li>
</ul>
</li>
</ul>
Конечно, у меня у второго меню стиль position:absolute
и можно просто сделать вот так:
ul > li > ul {position:absolute}
ul > li > ul ~ a {color: red}
<ul>
<li><a href="javascript://">Пункт 1</a></li>
<li><a href="javascript://">Пункт 2</a></li>
<li><a href="javascript://">Пункт 3</a></li>
<li><ul>
<li><a href="javascript://">Пункт 1</a></li>
<li><a href="javascript://">Пункт 2</a></li>
<li><a href="javascript://">Пункт 3</a></li>
<li><a href="javascript://">Пункт 4</a></li>
</ul>
<a href="javascript://">Пункт 4</a>
</li>
</ul>
Но в html это выглядит странно.
Простите за такой идиотский вопрос, конечно, можно добавлять какой-то класс пунктам, которые имеют второе меню, но хотелось бы обойтись без этого
Выбрать предыдущего соседа с помощью селектора невозможен средствами CSS. И даже в черновике CSS4 на момент написания этой возможности нет.
Поэтому да, только
nth-child
и подобные, если это подходит для данного случая.Меняя разметку (если возможно). Допустим есть элементы first
и second
. И нужно добавить селектор, когда first
перед second
. Можно это сделать через flexbox, для этого нужно их поменять местами в раз, применить селектор second + first
, затем сделать чтобы order
second
был меньше first
.
Исполняемый код
.flex {
display: flex;
}
.second + .first {
color: red;
margin-right: 10px;
}
.second {
order: 2;
}
.first {
order: 1;
}
<div class="flex">
<div class="second">
Second
</div>
<div class="first">
First
</div>
</div>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Microsoft-то объявил, что теперь IE всё поддерживает, но по факту — c флексами беда, с бутстрапом — беда (по разному принимают отступы)
Здравствуйте, есть список который имеет раскрывающийся блоки, нужно сделать так чтобы при раскрытии блок подтягивался по всей высоте, может...
Есть класс, не унаследованный от QWidgetПредставляет собой класс реализации доступа к БД