Han*_*ans 1 html css css-selectors
我想在第一个具有 类的非空元素之前显示文本error。我用过.error:not(:empty):first-of-type::before但是没用。我缺少什么?
.error:not(:empty):first-of-type::before {
content: attr(seq);
display: block;
background-color:red;
}
Run Code Online (Sandbox Code Playgroud)
不起作用:
<div>
<p class="error" seq="Error #1" ></p>
<p class="error" seq="Error #2">2</p>
<p class="error" seq="Error #3">3</p>
<p class="error" seq="Error #4"></p>
<div><b> Some text here </b>
<p></p>
</div>
Run Code Online (Sandbox Code Playgroud)
工作正常:
<div>
<p class="error" seq="Error #1" >1</p>
<p class="error" seq="Error #2">2</p>
<p class="error" seq="Error #3">3</p>
<p class="error" seq="Error #4"></p>
<div><b> Some text here </b>
<p></p>
</div>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/71L7nvoy/
PS:我也尝试过:firts-child。也没起作用。
:first-of-type意思是“类型的第一个元素(也称为标签名称)”而不是“与选择器的其余部分匹配的第一个元素”。
CSS 选择器无法提供描述您想要的条件的方法。您需要采取其他方法(例如,在生成 HTML 时添加额外的类名)。