如何让CSS选择器跳过<dd>
并仅应用于所有<dt>
?我尝试仅将border-bottom
应用于第一个<dt>.
我尝试过:dl > dt:not(:last-child)
,但这也不起作用。
CSS:
dt:not(:last-child) {
border-bottom: 5px solid #dddddd;
}
HTML:
<dl>
<dt>Dates of Operation</dt>
<dd style="display: none;"></dd>
<dt>Dates of Operation</dt>
<dd style="display: none;"></dd>
<dt>Dates of Operation</dt>
<dd style="display: none;"></dd>
</dl>
答案 0 :(得分:1)
答案 1 :(得分:1)
您正在寻找:first-of-type
CSS pseudo-class:
dl > dt:first-of-type {
border-bottom: 5px solid #dddddd;
}
请参阅 demo fiddle here 。
与往常一样,请确保在使用前检查目标浏览器支持。如果你有大量的观众,那么达到你想要的标准方法就是使用常规课程。
答案 2 :(得分:0)
答案 3 :(得分:0)
这取决于哪个是特殊元素。如果第一个是唯一一个有边框的那么你应该使用
dt:first-child{
border-bottom: 5px solid #dddddd;
}
但是如果你想要除了最后一个孩子之外的每个孩子都有边框,那么试试这个:
dt {
border-bottom: 5px solid #dddddd;
}
dt:last-child {
border-bottom: none;
}
这将覆盖添加到dt元素的边框底部样式。
如果您只有2个元素,则可以添加id
,class
或first-child
。如果最后一个孩子是特殊孩子,那么为它添加css,你可能有许多其他dt
元素。