[英]How do I target the last N sibling elements only when there are Y siblings in CSS?
[英]How do I select some siblings but not all only via CSS?
<div class="wrapper">
<ul class="cars">
<li class="headline">My Cars</li>
<li>Ferrari</li>
<li>Hummer</li>
</ul>
<ul class="cars">
<li class="headline">My Cars</li>
<li>Volvo</li>
<li>Caddilac</li>
</ul>
</div>
有没有办法只用 CSS 隐藏第二个<li class="headline">
? 我尝试了几种不同的兄弟选择器方法,例如+
, >
等。但没有成功。 我在 position 中,我无法控制源代码,只有 CSS。 所以请不要建议使用 javascript,更改 HTML 等。除了 CSS 之外,我根本无法更改任何内容:)
每个.headline
始终是其包含的.cars
的第一个孩子,因此 select 兄弟姐妹基于.cars
元素。
最有可能的是,您想要第二个.cars
:
/* CSS2 */
.cars:first-child + .cars .headline {
display: none;
}
/* CSS3 equivalent, but for browser compatibility just use the above instead */
.cars:nth-child(2) .headline {
display: none;
}
是的,您可以使用 CSS3 选择器 nth-child:
div.wrapper ul.cars:nth-child(2) li.headline { display: none; }
在此处阅读更多信息: http://www.quirksmode.org/css/nthchild.html
CSS3 具有nth-of-type()选择器,但 MSIE 不支持它 AFAIK。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.