css - 如何通过 CSS 仅向列表的某些元素添加样式

标签 css css-selectors

假设我有这个列表:

<nav>
  <ul class="the_list">
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

如何在不使用 JQuery 而仅使用 CSS 的情况下仅将样式(例如底部边框)应用于 ul 的前两个子级?

最佳答案

你可以这样写,

.the_list li:nth-child(1),
.the_list li:nth-child(2) {
    border-bottom: 1px solid tomato;
}

所以上面的选择器将选择 the_listclassul 元素的第一个和第二个子元素

Demo


如果你想支持像IE8这样的老式浏览器,你也可以这样做

.the_list li:first-child,
.the_list li:first-child + li {
    border-bottom: 1px solid tomato;
}

Demo 2

因此在第二个选择器中,我们首先选择嵌套在 ul 下的第一个 li 元素,其 classthe_list 然后我们选择与第一个 child 相邻的 li

关于css - 如何通过 CSS 仅向列表的某些元素添加样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29206151/

相关文章:

css - 在 CSS 中按属性选择元素

css - "slow"CSS 选择器何时会影响性能?

css - 如何使电子邮件具有响应性?

css - 使用 bootstrap 将我的标题图片中的文本和 fa chevron 对齐

css - 在 CMSMS 中缓存动态样式表

html - float 菜单内容高度

CSS:如何制作这些与文本垂直居中的双线?

python - 无法在 .select() 方法中使用多个属性

css - 如何将 CSS 规则应用于其中包含特定关键字的类?

#idValue.classValue 选择器的 CSS 选择器浏览器兼容性?