CSS伪类总结大全

CSS伪类

今天我们来学习下css的伪类。

伪类是用来添加一些选择器的特殊效果。

伪类和伪元素的区别

有些人搞不清楚伪类伪元素的区别,我们先来讲讲这个。最主要的最核心的区别就是:有没有产生新的元素。使用上伪类使用一个冒号 ,伪元素使用两个冒号 ::

伪类可以说是补充了选择器,在页面无标签,但是真实的存在Dom文档中。

伪元素是创建了一个新的元素,不存在于Dom文档中,真实不存在的,但又是一个可以装载内容的元素。

伪类

表示状态的

伪类描述
:link所有未访问链接
:visited所有访问过的链接
:hover鼠标放到标签上的时候
:active鼠标点击标签的状态
:focus标签获得焦点时的样式

例子:我们以最经典的a标签来做例子

 <body>
     <a href="https://juejin.cn/user/3562846812382206">浪漫主义码农</a>
     <a href="www.baidu.com">百度</a></a>
 </body>
 <style>
     /*让超链接点击之前是黑色*/
     a:link {
         color: black;
     }
     /*让超链接点击之后是蓝色*/
     a:visited {
         color: blue;
     }
     /*鼠标悬停,放到标签上的时候是绿色*/
     a:hover {
         color: green;
     }
     /*鼠标点击链接,但是不松手的时候*/
     a:active {
         color: red;
     }
 </style>

效果:

在这里插入图片描述

注意点:这四种状态必须按照固定的顺序写:a:link 、a:visited 、a:hover 、a:active 优先级依次减小,也就是所谓的爱恨法则。

结构化伪类

伪类例子例子说明
:first-of-typep:first-of-type选择的每个 p 元素是其父元素的第一个 p 元素
:last-childp:last-child选择所有p元素的最后一个子元素
:last-of-typep:last-of-type选择每个p元素是其母元素的最后一个p元素
:not(selector):not§选择所有p以外的元素
:nth-child(n)p:nth-child(2)选择所有 p 元素的父元素的第二个子元素
:nth-last-child(n)p:nth-last-child(2)选择所有p元素倒数的第二个子元素
:nth-last-of-type(n)p:nth-last-of-type(2)选择所有p元素倒数的第二个为p的子元素
:nth-of-type(n)p:nth-of-type(2)选择所有p元素第二个为p的子元素
:only-of-typep:only-of-type选择所有仅有一个子元素为p的元素
:only-childp:only-child选择所有仅有一个子元素的p元素
:first-childp:first-child选择器匹配属于任意元素的第一个子元素的

元素

:rootroot选择文档的根元素
:target#main:target选择当前活动#main元素(点击URL包含锚的名字)

表单类

伪类例子例子说明
:checkedinput:checked选择所有选中的表单元素
:disabledinput:disabled选择所有禁用的表单元素
:emptyp:empty选择所有没有子元素的p元素
:enabledinput:enabled选择所有启用的表单元素
:validinput:valid选择所有有效值的属性
:out-of-rangeinput:out-of-range选择指定范围以外的值的元素属性
:invalidinput:invalid选择所有无效的元素
:optionalinput:optional选择没有"required"的元素属性
:read-onlyinput:read-only选择只读属性的元素属性
:read-writeinput:read-write选择没有只读属性的元素属性
:in-rangeinput:in-range选择元素指定范围内的值
:requiredinput:required选择有"required"属性指定的元素属性

语言类

伪类例子例子说明
:lang(language)p:lang(it)

元素的lang属性选择一个开始值

:dir匹配特定文字书写方向的元素

例子:

 <body>
     <p lang="main">你好</p>
     <p>浪漫主义码农</p></p>
 </body>
 <style>
    p:lang(main){
        background: burlywood;
    }
 </style>

在这里插入图片描述

写在最后

有遗漏欢迎大佬补充。

💌今早雾霾蔽日,但是不要害怕,太阳依旧在云端。📬

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值