Я хочу написать селектор CSS, который соответствует первому вхождению элемента с классом «значок». У элементов нет общего родителя (как показано ниже), поэтому псевдо :first-child
или :first-of-type
у меня не сработали.
HTML-разметка не очень хорошая, но ее спецификация, поэтому изменить ее невозможно.
Есть ли какое-то единственное CSS-решение, соответствующее первому вхождению элемента?
<div>
<div class="icon"></div> <!-- only this should be matched -->
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>
<div>
<div class="icon"></div>
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>
<div>
<div class="icon"></div>
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>
OR
<div>
<!-- nothing here -->
</div>
<div>
<div class="icon"></div> <!-- only this should be matched -->
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>
<div>
<div class="icon"></div>
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>
OR
<div>
<!-- nothing here -->
</div>
<div>
<!-- nothing here too -->
</div>
<div>
<div class="icon"></div> <!-- only this should be matched -->
<p class="categoryTitle">Category 1</p>
<ul>..</ul>
</div>