1:属性选择器
语法:[属性名]{} 选择含有指定属性的元素
[属性名=属性值]{} 选择含有指定属性和属性值的元素
[属性名^=属性值]{} 选择指定属性以指定属性值开头的元素
[属性名$=属性值]{} 选择属性值以指定值结尾的元素
[属性名*=属性值]{} 选择属性值含有某值的元素
2伪类 不固定的类
:first-child 第一个元素
:last-child 最后一个元素
:nth-child() 选中第几个元素
特殊实参值
2n /even 偶数
2n+1 /odd 奇数
是按照所有子元素的排列顺序
:first-of-type 第一个元素
:last-of-type 最后一个元素
:nth-of-type() 选中第几个元素
特殊实参值
2n /even 偶数
2n+1 /odd 奇数
1、:link 用来表示未访问过的链接(正常链接);
2、:visited 用来表示访问过的链接;:link,:visited 是超链接独有的
3、:hover 用来表示鼠标移入的状态
4、:active 鼠标点击后的状态
:hover :active 适用所有的标签
伪元素,表示页面中一些特殊的并不真实存在的元素(元素的位置)
::first-letter 表示第一个字母
::first-line 表示第一行
::selection 选中的内容
::before 元素的开始位置
::after 元素的结束位置
before和after必须要结合content使用
样式的继承(继承祖先的资产)
定义:为一个元素设置的样式,同时也会应用到它的后代元素上
优势:方便我们开发,讲一些通用的样式统一设置到共同的祖先元素上,
子元素的样式都可以获取到样式
注意:并不是所有的样式都会被继承,比如:背景相关的,布局相关等不会被继承
样式冲突 通过不同的选择器选中同一个元素,进行一样的样式设定
发生样式冲突时,应用哪一个样式由选择器的权重(优先级)决定
择器权重
内联样式 1000
id选择器 100
类选择器(包括伪类选择器、属性选择器) 10
标签选择器 1
通配选择器 0
继承的样式 没有权重
注意:
1、当选择器权重相同的时候,谁靠下就使用谁
2、多个选择器共同使用,则最终权重是多个选择器权重相加
3、如果选择器是并集选择器,则选择器的权重各算各的
4、选择器再累加,也不会超过它的上一级
5、!important 权重最高 写在属性值的后面
background-color: red !important;
慎用:
一般情况在修改框架样式的时候使用
确认是否是选择器权重问题bug的时候
如果设置样式没有生效,要么是没选中,要么是权重的问题,
可以用!important来做区分