CSS伪类选择器和伪元素选择器的基本用法

115 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

 一、伪类选择器

1.根据所有子元素排序的伪类

1、 :first-child 第一个子元素

2、 :last-child 最后一个子元素

3、 :nth-child() 选中第n个子元素 ()可填写n选中所有子元素,也可以选择是第几行,填多少行,特殊填写 2n(even)偶数、2n+1(odd)奇数。

例如:

<body>
        <h1>《静夜思》</h1> 
        <h3>唐·李白</h2> 
<ul>           
     <li>床前明月光,</li>
     <li>疑是地上霜。</li>
     <li>举头望明月</li>
     <li>低头思故乡。</li>
</ul> 
</body>

1.将ul里面的第一句诗句变成红色

<style>
li:first-child{
        color: red;
    }
</style>

2.将ul里面的最后一句诗变成绿色

<style>
    li:last-child{
        color: green;
    }
</style>

3.将ul里面的第三句诗句变成橘色

<style>
    li:nth-child(3){
        color: orange;
    }
</style>

效果展示:

​编辑

2.在同类型的子元素中选择

1、:first-of-type   第一个子元素

2、:last-of-type     最后一个子元素

3、:nth-of-type()    选中第n个子元素

 使用方法与上面类似,注意是在同类型下

例如:

<body>
        <h1>《静夜思》</h1> 
         
<ul>  
     <p>唐·李白</p>        
     <li>床前明月光,</li>
     <li>疑是地上霜。</li>
     <li>举头望明月</li>
     <li>低头思故乡。</li>
</ul> 

将ul中古诗第一句变成红色

<style>
    li:first-of-type{

        color: red;
    }
</style>

效果展示:

​编辑

   其他两种方法与其类似,如果最后一句古诗后面跟着其他的子元素,就用:last-of-type,:nth-of-type()  也是一样。

3 :not() 否定伪类

将符合条件的元素从选择去除

例如:如果要求处理古诗第一句,其他都是红色

<body>
        <h1>《静夜思》</h1> 
         
<ul>  
     <p>唐·李白</p>        
     <li class="a">床前明月光,</li>
     <li>疑是地上霜。</li>
     <li>举头望明月</li>
     <li>低头思故乡。</li>
</ul> 
</body>

<style>
    ul>li:not(.a){
        color: red;
    }
</style>

效果展示:

​编辑

 二、伪元素选择器

     ::first-letter  表示第一个字母

     ::first-line  表示第一行

     ::selection  选中的内容

     ::before  元素的开始位置

     ::after   元素的结束位置

  用法与伪类选择器用法一致,需要注意的是,::befor和::after都是要content一起使用的。

<style>
    p::before{
        content: '关注';
        color: red;
    }
 
</style>
<body>
    <p>胜二薪绪月德太圣变蒲,量俭京始的是杨二,劝生变十仄,应侯上。</p>
</body>
</html>

​编辑

\