伪类和伪元素

一、结构伪类选择器 

  定位html中的元素

选择器 作用
E:first-child() 父元素中第一个子元素,并且是E元素
E:last-child() 父元素中最后一个子元素,并且是E元素
E:nth-child(n) 父元素中第n个子元素,并且是E元素
E:nth-last-child(n) 父元素中倒数第n个子元素,并且是E元素

  注意点:
    1、n可以为数字: 1, 2, ...
    2、n也可以下面几种
      偶数 2n、 even
      奇数 2n+1、 2n-1、odd
      找到前3个 -n+3
      找到从第3个往后 n+3

  例子:

(1)n为数字时

 

(2) n为2n和even时

 

 

 (3)n为2n-1,2n+1和odd时

 

 

 

 

  (4) -n+3和 n+10

 

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>结构性伪类选择器</title>
    <style>
    
        /* 找到第一个子元素,并且是li标签 */
        li:first-child {
            background-color: red;
        }
         /* 找到最后一个子元素,并且是li标签 */
        li:last-child {
            background-color: orange;
        }
        /* 找到第三个子元素,并且为li标签 */
        li:nth-child(3) {
            background-color: yellow;
        }
        /* 找到倒数三个子元素,并且为li标签 */
        li:nth-last-child(3) {
            background-color: green;
        }
     
    /*操作时注释上方代码*/
    /* 偶数 */
        li:nth-child(2n) {
            background-color: orange;
        }

        li:nth-child(even) {
            background-color: blue;
        }
    /*操作时注释上方代码*/
     /* 奇数 */
     li:nth-child(2n+1) {
            background-color: orange;
        }
        li:nth-child(2n-1) {
            background-color: orange;
        }
        li:nth-child(odd) {
            background-color: orange;
        }
    /*操作时注释上方代码*/
    /* 前3个 */
        li:nth-child(-n+3) {
            background-color: green;
        }

        /* 找到第10个开始 */
        li:nth-child(n+10) {
            background-color: blue;
        }
</style>
</head>
<body>
    <ul>
        <!-- <div>可能</div> -->
        <li>123</li>
        <li>345</li>
        <li>1456</li>
        <li>3gg</li>
        <li>mmm</li>
        <li>ikh</li>
        <li>ggg</li>
        <li>uuu</li>
        <li>-3333</li>
        <li>hahahah</li>
    </ul>
</body>
</html>

二、伪元素

 1、使用css模拟出标签效果。

伪元素 作用
::before 在父元素内容的最前面添加一个伪元素
::after 在父元素内容的最后添加一个伪元素

 2、注意事项

  伪元素需要设置content属性才能生效

  伪元素默认是行内元素

   3、例子

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .example {
            width: 300px;
            height: 300px;
            background-color: skyblue;
        }
        .example::before {
            /* 必加属性 */
            content: 'before:伪元素';
            width: 100px;
            height: 100px;
            background-color: slateblue;
            display: block;
        }
        .example::after {
            /* 必加属性 */
            content: 'after:伪元素';
            width: 100px;
            height: 100px;
            background-color: orange;
            display: block;
        }
    </style>
</head>
<body>
    <div class="example">
        对比内容
    </div>
</body>
</html>

 

posted @ 2022-08-28 16:55  先起这个昵称  阅读(45)  评论(0编辑  收藏  举报