【发布时间】:2011-08-22 17:22:11
【问题描述】:
我想编写一个 CSS 选择器来匹配第一次出现的具有“icon”类的元素。这些元素没有共同的父元素(如下所示),所以 :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>
或
<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>
或
<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>
【问题讨论】:
-
如果你可以添加一些js代码,那么你可以用它来改变元素的样式。否则,如果不以某种方式更改 html 本身(例如向第一个图标添加 id 或其他方式),我看不到这样做的方法。
标签: html css css-selectors