表示一个“;“叔叔”;使用css
有没有一种方法可以用css选择一个元素的叔叔?具体而言,我正在为具有以下形式条目的页面编写GreaseMonkey脚本:表示一个“;“叔叔”;使用css,css,css-selectors,Css,Css Selectors,有没有一种方法可以用css选择一个元素的叔叔?具体而言,我正在为具有以下形式条目的页面编写GreaseMonkey脚本: <ruby> <span class="under"> <span class="wk_K">決</span> </span> <rt>き</rt> </ruby> <ruby> <span class="under">決</s
<ruby>
<span class="under">
<span class="wk_K">決</span>
</span>
<rt>き</rt>
</ruby>
<ruby>
<span class="under">決</span>
<rt>き</rt>
</ruby>
如果
wk
字段嵌套在
中,即如果我想选择“相邻的叔叔”,如何实现相同的效果?您必须在这里使用类下的:
ruby .under + rt {visibility: hidden;}
ruby .under:hover + rt {visibility: visible;}
因为,rt
是.under
的兄弟,而且在使用.under:hover
或时也没有区别。并将下的高度设置为1em
以不允许rt:hover
,从而触发。在:hover
下
如果不起作用,请告诉我
在您的例子中,您试图使用一个父选择器,这在CSS 3和CSS 4中都不受支持。所以JavaScript或jQuery是您的解决方案。我知道您需要在
下选择。只有.wk
在其中
如果感兴趣,您可能需要以下jQuery代码
$(".wk_K").closest(".under").addClass("rt-hover");
在CSS中,如果您可以使用:
ruby .rt-hover + rt {visibility: hidden;}
ruby .rt-hover:hover + rt {visibility: visible;}
这对您很有用。我认为您需要使用JavaScript或重新格式化代码。find()和closest()方法应该可以帮助您找到需要的地方/但如果有CSS解决方案,我会很高兴的。@sheriffderek如果CSS不起作用,我很可能会用JavaScript删除
标记下的所有。但是css会更加优雅。。所以你不能。@Oriol我希望类似于(.under.wk_K)+rt
的东西,即under
元素的邻居,该元素包含wk_K
,以避免缺少父选择器。在我的示例中,这将隐藏这两个rt
元素。但是第二个应该保留,因为它不在wk
旁边。我将修改这个问题,使之更加明确。@Klimpgeist看一看我更新的答案。谢谢。因此,无法将问题解释为“在包含wk
的节点下选择的同级节点”?类似于(.under.wk_K)+rt
?@klimplegeist现在还没有使用纯CSS好友。。。这就是为什么我也给出了一个JavaScript示例。
ruby .rt-hover + rt {visibility: hidden;}
ruby .rt-hover:hover + rt {visibility: visible;}