css控制ul里每个li的样式

作者: web 发布时间: 2019-08-09 浏览: 2625 次 编辑

我们可能会碰到这样的需求:想让列表中的第一个部分显示不同的样式 ,想让列表中的偶数部分显示不同的背景颜色,想让列表中的最后一部分样式不一样……这样的需求,我们怎样来实现?其实,如果前面文件是php开发的,可以通过php的循环语句+判断语句+css样式来实现。但是,如果是静态代码,php就无法用了。这时,我们还可以通过CSS来实现,CSS给我们提供了几个非常有用的样式参数:first-child、last-child、nth-child(n)。

使用方法如下

1、first-child(表示选择列表中的第一个标签)

li:first-child{background:#090}/*li 列表中的 第一个li模块的背景颜色。*/

2、last-child(表示选择列表中的最后一个标签)

li:last-child{background:#090}

3、nth-child(3)(表示选择列表中的第3个标签)

li:nth-child(3){background:#090}

如上:上面代码中的3也可以改成其它数字,如4、5等。想选择第几个标签,就填写几。

4、nth-child(2n)(表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签。)

5、nth-child(2n-1)(表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签。)

6、nth-child(n+3)(表示选择列表中的标签从第3个开始到最后。)

7、nth-child(-n+3)(表示选择列表中的标签从0到3,即小于3的标签。)

8、nth-last-child(3)(表示选择列表中的倒数第3个标签。)

实例代码如下:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        * {
            list-style: none;
            padding: 0px;
            margin: 0px
        }

        ul li:nth-child(1) {
            color: #0080FF;
        }

        ul li:nth-child(2) {
            color: #0000FF;
            margin-left: 10px
        }

        ul li:nth-child(3) {
            color: #FF8040;
            margin-left: 20px
        }
    </style>
</head>
<body>
<ul>
    <li>我是第一个li</li>
    <li>我是第二个li</li>
    <li>我是第三个li</li>
</ul>
</body>
</html>