首页 > web前端 > css教程 > 为什么我的 CSS :odd 和 :even 选择器没有按预期工作?

为什么我的 CSS :odd 和 :even 选择器没有按预期工作?

DDD
发布: 2024-12-29 19:22:16
原创
870 人浏览过

Why Doesn't My CSS :odd and :even Selector Work as Expected?

设置偶数和奇数元素的样式

CSS 伪类 :odd 和 :even 允许您将样式应用于列表中元素的奇数和偶数实例。但是,将这些伪类与基本样式规则结合使用时会出现问题,导致意外结果。

例如,考虑以下 CSS 和 HTML 代码:

li { color: blue }
li:odd { color:green }
li:even { color:red }
登录后复制
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
登录后复制
登录后复制

您可能期望这会生成一个交替颜色的列表,但相反,所有列表项都是blue.

解决方案

要解决这个问题,您可以使用 nth-child 伪类来代替 :odd 和 :even。 nth-child 的语法如下:

li:nth-child(n) {...}
登录后复制

其中 n 表示元素在其父元素中的位置。

要设置奇数和偶数列表项的样式,可以使用以下命令CSS:

li {
    color: black;
}
li:nth-child(odd) {
    color: #777;
}
li:nth-child(even) {
    color: blue;
}
登录后复制
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
登录后复制
登录后复制

这将产生一个黑名单项目列表,其他所有项目在灰色 (#777) 和蓝色。

以上是为什么我的 CSS :odd 和 :even 选择器没有按预期工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板