一 、伪类(不存在的类,特殊的类)
定义:不真实存在的类,是一种特殊的类,它表示的元素的一种状态,不是固定某一定
例如:第一名,倒数第一名,鼠标悬浮,鼠标点击等
常见的伪类选择器
语法使用‘:’开头
:first-child 第一个元素
:last-child 最后一个元素
:nth-child() 选中第几个元素
特殊值:
2n或even 偶数
2n+1或odd 奇数
—以上这些伪类都是根据所有的子元素进行排序
:first-of-type 第一个元素
:last-of-type 最后一个元素
:nth-of-type() 选中第几个元素
—功能跟上面相似,不同的是,这是在同类型的子元素中去选择
二、:not() 否定伪类
-将符合条件的元素从选择器中去除
需求二:给所有诗句加背景色,除了l1
需求一:给未访问过的超链接加红色字体
1、:link 没有访问过的状态
需求二:给访问过的超链接加绿色字体
2、:visited 访问过的状态
注意:
1、:link和:visited 是a标签独有的伪类
2、由于隐私问题,:link和:visited只能设置字体颜色
需求三:鼠标移入,链接字体变大到30px
3、:hover 鼠标移入的状态
需求四:鼠标点击后,增加背景色pink
4、:active 鼠标点击后的状态
注意:
:hover和:active 针对所有的元素
需求一:让文章的首字母一直为字体为24px
1、::first-letter 第一个字母
需求二:让文章的第一行添加背景色黄色
2、::first-line 第一行
需求三:让选中的内容,字体为红色
3、::selection 选中的内容
需求四:在元素开始的位置前+'abc'
4、::before 在元素的最前面
必须要配合content样式名使用
4、::after 在元素的最后面
必须要配合content样式名使用
样式的继承(继承祖先的资产)
定义:给父元素或者祖先元素设置有关样式,它会继承到子元素或后代元素上,
优势:一般情况下,样式的继承是对我们开发是有利,不需要额外调整
注意:不是所有的样式都能继承,一般情况布局上样式
共同的祖先元素,设置统一的字体大小、字体颜色、行高、字体等
选择器的权重
内联样式 1000
id选择器 100
类和伪类选择器/属性选择器 10
元素选择器 1
通配符、子选择器、相邻选择器等。如*、>、+ 0000
继承的样式 没有优先级
!important 最高优先级
注意:
比较优先级时,需要将所有选择器的优先级进行相加计算,最后优先级越高,则优先显示
(并集选择器)分组选择器是单独计算的
如果优先级计算后相同,此时则优先使用靠下的样式
选择器的累加,不会超过上一级数量级,例如:类选择器再高也不会超过id选择器 量变达 不到质变
一般来说:
选择器越具体,优先级越高
!important 慎用