CSS3伪类选择器

一.结构伪类选择器

伪类选择器都是以:开头的 伪类表示元素的一些特殊状态或者位置
在这里插入图片描述

E:ont()否定伪类,表示除了括号里面得类其余得都可以选中
E:empty是指匹配空元素里面什么都没有包括空格 和换行

代码演示:
E:empty

 <style>
        .box1,
        .box2 {
            width: 100px;
            height: 100px;
            border: 1px solid #ccc;
        }
        /* :empty是匹配空元素 是指什么都没有 包括换行和空格 */
        
        div:empty {
            background-color: red;
        }
    </style>
</head>

<body>
    <div>
        <div class="box1">
            <p>元素</p>
        </div>
        <div class="box2"></div>
    </div>
</body>

E:not()

<style>
        /* 否定伪类,表示除了括号里面的类其余得都可以被选中 */
        
        p:not(.p1) {
            color: red;
        }
    </style>
</head>

<body>
    <p>我是p</p>
    <p class="p1">我是p</p>
    <p>我是p</p>
    <p>我是p</p>
    <p>我是p</p>
    <p>我是p</p>

</body>

注意:
类选择器、属性选择器、伪类选择器,权重为 10

  • n可以是数字,关键字和公式
  • n如果是数字,就是选择第n个
  • 常见的关键词 even 偶数 odd 奇数
  • 常见的公式如下 ( 如果n是公式,则从0开始计算)
  • 但是 第0个元素或者超出了元素的个数会被忽略 )

在这里插入图片描述

二.a得伪类

a:link主要用来设置没有访问过的链接样式
a:visited访问过的超链接(由于隐私问题只能修改颜色)
a:hover鼠标经过的状态 不仅仅适用于超链接
a:active鼠标按下的状态 不仅仅适用于超链接

代码演示

 <style>
        a:link {
            /* 正常的超链接(带有href的a标签)
            主要用来设置没有访问过的链接样式
             */
            color: red;
        }
        
        a:visited {
            /* 访问过的超链接(由于隐私问题只能修改颜色) */
            color: yellow;
        }
        
        a:hover {
            /* 鼠标经过的状态 不仅仅适用于超链接 */
            color: teal;
        }
        
        a:active {
            /* 鼠标按下的状态 不仅仅适用于超链接 */
            color: violet;
        }
    </style>
</head>

<body>
    <a href="https://www.baidu.com">百度</a>
    <a href="https://www.baidu.com">百度</a>
</body>

三.属性选择器

属性选择器根据元素的属性来选中元素
在这里插入图片描述
代码演示

  <style>
         div[class] {
            color: red;
        } 
        
         div[class='good'] {
            color: red;
        } 
        
        div[class^='g'] {
            color: red;
        } 
        
        div[class$='d'] {
            color: red;
        } 
        
        div[class*='O' i] {
            /* 这里加上 i 的意思是不区分大小写 */
            color: red;
        }
    </style>
</head>

<body>
    <div class="good">我是div</div>
    <div class="good">我是div</div>
    <div>我是div</div>
</body>

四.伪元素选择器

伪元素表示一些特殊的元素

::before在元素内部前面插入内容
::after在元素内部后面插入内容
::first-letter表示首字母
::first-line表示设置首行
::selection选中的内容

注意:

  • before 和 after 必须有 content 属性
  • before 在内容的前面,after 在内容的后面
  • before 和 after 创建一个元素,但是属于行内元素。
  • 因为在 dom 里面看不见刚才创建的元素,所以我们称为伪元素
  • 伪元素和标签选择器一样,权重为 1

代码演示


    <style>
        .box1::before {
            /* before在元素的前面添加内容  但是必须通过content来设置 别忘记冒号了*/
            content: 'hello';
            color: red;
        }
        
        .box2::after {
            /* after在元素的后面添加内容  但是必须通过content来设置 别忘记冒号了*/
            content: 'hello';
            color: red;
        }
        
        p::first-letter {
            /* first-letter表示首字母 */
            font-size: 25px;
            color: #000;
        }
        
        .box3::first-line {
            /* first-line表示设置首行 */
            background-color: red;
        }
        
        .box3::selection {
            /* 选中的内容 */
            color: yellow;
        }
    </style>

</head>

<body>
    <div class="box1">我是div</div>
    <div class="box2">我是div</div>
    <p>首字母大写</p>
    <p class="box3">我们的征程是星辰大海</p>
</body>

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值