样式优先级原则
总的原则
1.CSS规定拥有更高确定度的选择器优先级更高
2.如果样式中包含冲突的规则,且它们具有相同的确定度。那么,后出现的规则优先级高。
优先级:由高到低(从上到下)
!important
内联(1,0,0,0)
id: (0,1,0,0)
类:(0,0,1,0)
伪类/属性
元素:(0,0,0,1)
通配符
class="web",多个元素可以拥有同一个类名
id="web",具有唯一性
CSS伪类(pseudo-class)是加在选择器后面的用来指定元素状态的关键字。
a:link 未访问的链接
a:visited 已访问的链接
a:hover 鼠标移动到链接上
a:active 选定的链接
:target 可用于选取当前活动的目标元素,href="#222"(内容跳转)
:focus 伪类在元素获得焦点时向元素添加特殊的样式
:disabled 匹配每个被禁用的元素(大多用在表单元素上)。
:enabled 表示任何启用的(enabled)元素
:checked 匹配每个已被选中的 input 元素(只用于单选按钮和复选框)(只有opera支持)
:empty 代表没有子元素的元素,只计算元素结点及文本(包括空格),注释、运行指令不考虑在内。
:first-child 代表了某个元素,这个元素是它父元素的的第一个子元素
:first-of-type
:last-of-type
:nth-clild(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型
n 可以是数字、关键词或公式(2,an + b,odd)(n 是计数器(从 0 开始),b 是偏移值)
:nth-last-child(n)倒数
:nth-of-type(n)
E[attr]
E[attr=value]
E[attr~=value] 选择器用于选取属性值中包含指定词汇的元素
E[attr^=value] 选择器匹配属性值以指定值开头的每个元素。
E[attr*=value]
E[attr$=value]
A E 任何是元素A的后代元素E (后代节点指A的子节点,子节点的子节点,以此类推)
A > E 任何元素A的子元素(直接)
B + E 任何元素B的下一个兄弟元素E(直接)
B ~ E B元素后面的拥有共同父元素的兄弟元素E
.class1.class2 同时包含class1和class2属性的元素
F#id 具有某id的F元素
E,F 所有E或F元素
E:first-line 向文本的第一个字母添加特殊样式。
E:first-letter 向文本的首行添加特殊样式。
E:before 在元素之前添加内容。
E:after 在元素之后添加内容。