如何根据子元素的类设置<li>
的样式?
示例:
<div class"options">
<ul>
<li> <a href="#"> option 1 </a> </li>
<li> <a href="#"> option 2 </a> </li>
<li> <a class="last" href="#"> option 3 </a> </li>
<li> <a href="#"> option 4 </a> </li>
<li> <a href="#"> option 5 </a> </li>
<li> <a class="last" href="#"> option 6 </a> </li>
<li> <a href="#"> option 7 </a> </li>
<li> <a href="#"> option 8 </a> </li>
<li> <a class="last" href="#"> option 9 </a> </li>
</ul>
</div>
我可以使用a
.options li a.last { ... }
的样式
但我想要的是将margin:0
应用于父li
,我无法控制<li>
内的内容,只能控制<a>
内的内容。
有任何风格伎俩吗?
我正在努力实现的目标:
我有一个jQuery循环,可以将.last
类添加到每3 <li>
个
$(".box-left li").each(function (i) {
if ((i+1) % 3 == 0)
$(this).addClass("last");
});
但我想知道是否有其他不涉及javascript助手的方式。
答案 0 :(得分:1)
遗憾的是,这不能用CSS完成,我能为你提供的最好的是jQuery,它是:has
选择器。
或者,在a
标记而不是li
标记上设置所有边距/填充。这将涉及一些改组,但将实现你需要的
答案 1 :(得分:0)
不幸的是,目前无法在CSS中选择父元素。
此问题已被多次询问,this answer似乎总结得很好。
答案 2 :(得分:0)
不可能选择子元素的父元素。 可能这对你有帮助 指定 李{行高:20像素;} li a {display:block;}