css - 使用 CSS 选择一系列列表项

标签 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>

当浏览器宽度 < 1000 像素时,我正在使用媒体查询以不同方式设置菜单样式:

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

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

我知道有多种方法可以对列表项上的不同类执行此操作,但我想使用纯 CSS 来实现它。

最佳答案

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

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

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

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

关于css - 使用 CSS 选择一系列列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741504/

相关文章:

html - 如何在css中设置整个页面的背景颜色

javascript - Div下拉菜单问题

html - 如何更改媒体查询

javascript - 检测响应式网站图标的网站图标尺寸

html - CSS 图像在浏览器调整大小时上下移动

html - 似乎无法正确定位我的位置。 CSS

html - [if IE 6]怎么能被IE7拿下呢?

使用步骤对 png 序列进行 CSS 转换

css - Outlook 上的灵活图像

css - 设置 Adsense 自适应广告单元的最大高度