如何将样式设置为父元素

时间:2012-11-08 11:00:28

标签: css

  

可能重复:
  Complex CSS selector for parent of active child

如何根据子元素的类设置<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>内的内容。

  

有任何风格伎俩吗?


我正在努力实现的目标:

enter image description here

我有一个jQuery循环,可以将.last类添加到每3 <li>

$(".box-left li").each(function (i) {
    if ((i+1) % 3 == 0) 
        $(this).addClass("last");
});

但我想知道是否有其他不涉及javascript助手的方式。

3 个答案:

答案 0 :(得分:1)

遗憾的是,这不能用CSS完成,我能为你提供的最好的是jQuery,它是:has选择器。

或者,在a标记而不是li标记上设置所有边距/填充。这将涉及一些改组,但将实现你需要的

答案 1 :(得分:0)

不幸的是,目前无法在CSS中选择父元素。

此问题已被多次询问,this answer似乎总结得很好。

答案 2 :(得分:0)

不可能选择子元素的父元素。 可能这对你有帮助 指定     李{行高:20像素;}     li a {display:block;}