我试图仅在<dd>
之后跟踪<dt>
。我知道有一个前面的选择器,但是我找不到一个定位<dt>
的CSS方法。我知道这可以通过JavaScript来实现,但如果可能的话,宁愿将它保留在CSS选择器中。CSS选择器 - 仅在跟随DD时才跟踪目标DT
这不必在IE6或更低版本中运行。
我试图仅在<dd>
之后跟踪<dt>
。我知道有一个前面的选择器,但是我找不到一个定位<dt>
的CSS方法。我知道这可以通过JavaScript来实现,但如果可能的话,宁愿将它保留在CSS选择器中。CSS选择器 - 仅在跟随DD时才跟踪目标DT
这不必在IE6或更低版本中运行。
你想要的兄弟选择:
DT + DD { color : #00f; }
不工作在IE6,但不会在其他浏览器。
这可以用其他方法。 DD之前是DT。 – 2010-09-15 17:42:12
很好,然后用DD + DT {color:#00f;}代替 – furtive 2010-09-15 18:06:12
当DD开头时,它将以DT为目标。我正在寻找以DT为后续目标的DT。 – 2010-09-16 14:06:19
我想也许dt〜dd会工作,但它实际上功能类似于+,只是不太具体。
看过W3C css选择器文档http://www.w3.org/TR/CSS2/selector.html之后,我可以很有信心地说,你只想用CSS来做你想做的事。它也缺少获取父选择器的方法。也许在CSS4 ...
我正在寻找一个类似的问题类似的解决方案。在我的情况下,我想选择dd
组中的最后一个dd
,因此所有dd
之后是dt
或者是dl
的第一个孩子(因为,无论出于何种原因,这都是允许的)。
我还没有找到纯粹的CSS解决方案。我正在制定多条规则,以保持所有这些将会(在你的情况下)“空”dt
,但没有什么包容性。
如果我得到这个工作,我会让你知道。否则,类似于选择器的解决方案(因此保持任何其他选择器语法不变)是jquery non-css :has()
选择器。所以你的情况:
$("dt:not(:has(+dd))").addClass("empty_def");
$("dt:has(+dd)").addClass("non_empty_def");
http://stackoverflow.com/questions/1817792/css-previous-sibling-selector – 2010-09-15 17:38:19
另外,我要指出,'dd'应该由'dt'之前。 – 2010-09-15 17:41:48
阅读完链接的问题后,我仍然没有解决方案。如前所述,我知道你可以在一个元素的前面加上另一个元素;然而,我只需要在元素后面跟着一个元素。 – 2010-09-16 15:07:21