使用CSS选择一系列列表项

时间:2012-10-05 07:22:49

标签: css responsive-design

我有一个包含动态项目数的列表(菜单):

<ul id="menu">
    <li>bla</li>
    <li>bla</li>
    <li>bla</li>
    <li>bla</li>
    <li>bla</li>
    <li>bla</li>
    <li>bla</li>
</ul>

当浏览器显示时,我正在使用媒体查询来对菜单进行不同的样式设置。 1000px宽:

@media screen AND (max-width: 999px) {
    ul#menu li:nth-child(4+) {
          visibility: hidden;
    }
}

显然,这不起作用,但它说明了我想要实现的目标:在第四个之后隐藏任何列表元素。

我意识到有很多方法可以在列表项上使用不同的类来实现这一点,但我想用纯CSS来实现它。

1 个答案:

答案 0 :(得分:1)

您可以使用:nth-child(n + 4)定位它们:

ul#menu li:nth-child(n + 4) {
    visibility: hidden;  // display: none?
}​

您也可以使用:nth-child(-n + 3)仅定位前四个元素。

演示:http://jsfiddle.net/yhsE9/3/