Gre*_*ard 82 html css html5 css3
我想申请styles到parent它是否有child元素.
到目前为止,我已经将child元素应用于元素(如果存在).但我想style的parent,如果parent有child,仅使用CSS.
以下是 html
<ul class="main">
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa
<ul class="sub">
<li>bbbb</li>
<li>bbbb
<ul>
<li>cccc</li>
<li>cccc</li>
<li>cccc</li>
</ul>
</li>
<li>bbbb</li>
<li>bbbb</li>
<li>bbbb</li>
</ul>
</li>
<li>aaaa</li>
<li>aaaa</li>
<li>aaaa</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
该css代码
* {
margin:0;
padding:0;
text-decoration:none;
}
.main li {
display:inline-block;
background:yellow;
color:green;
}
.main > li > ul > li {
background:orange
}
.main > li > ul > li > ul >li {
background:pink;
}
Run Code Online (Sandbox Code Playgroud)
工作FIDDLE
Mil*_*ous 69
使用CSS3是不可能的.有一个建议的CSS4选择器,$就是这样做,看起来像这样(选择li元素):
ul $li ul.sub { ... }
Run Code Online (Sandbox Code Playgroud)
作为替代方案,使用jQuery,你可以使用的单行将是这样的:
$('ul li:has(ul.sub)').addClass('has_sub');
Run Code Online (Sandbox Code Playgroud)
然后,您可以继续li.has_sub在CSS中设置样式.