我正在尝试仅在<dt>
后跟<dd>
。我知道有一个前面的选择器,但我找不到一个定位<dt>
的CSS方法。我知道这可以通过JavaScript实现,但如果可能的话,宁愿将它保留给CSS选择器。
这不必在IE6或以下版本中运行。
答案 0 :(得分:1)
我想也许dt~dd会起作用,但实际上它的功能类似于+,只是不那么具体。
在查看W3C css选择器文档http://www.w3.org/TR/CSS2/selector.html后,我可以非常自信地说,只有CSS才能实现您想要做的事情。它也缺少获取父选择器的方法。也许在CSS4 ......
答案 1 :(得分:0)
我正在寻找类似问题的类似解决方案。在我的情况下,我想选择dd
组中的最后一个dd
,因此dd
之后的所有dt
或dl
的第一个孩子(因为无论出于何种原因,这是允许的)。
我还没有找到纯CSS解决方案。我正在玩弄多个规则,以便所有剩下的规则(在你的情况下)都是“空”dt
,但没有全部包含。
如果我开始工作,我会告诉你的。否则,类似于选择器的解决方案(从而使任何其他选择器语法保持不变)是jquery非css :has()
选择器。所以在你的情况下:
$("dt:not(:has(+dd))").addClass("empty_def");
$("dt:has(+dd)").addClass("non_empty_def");
答案 2 :(得分:-3)
你想要兄弟选择器:
DT + DD { color : #00f; }
在IE6中不起作用,但在其他浏览器中起作用。