CSS3选择器详解
1.常用选择器
1.1标签选择器
1 | p{ }/*选择标签名为p的元素*/ |
1.2类选择器
1 | .box{ }/*选择class名为box的元素*/ |
1.3ID选择器
1 | #pid{ }/*选择id名为pid的元素*/ |
1.4通配符选择器
1 | *{ }/*选择页面中所有的元素*/ |
1.5选择器前缀
1 | div.bd{}/*选中class名为bd且标签为div的元素*/ |
1.6属性选择器
1 | [disabled]{}/*选择带有属性disabled的所有元素*/ |
2.伪类选择器
2.1链接伪类
1 | /*前两个只可用于描元素(链接)*/ |
链接在进行设置时:a:hover
必须位于 a:link
和 a:visited
之后, a:active
必须位于 a:hover
之后。
2.2动态伪类
1 | input:focus{}/*设置input元素获得焦点后的样式*/ |
2.3树形图上的伪类
html结构如下:
1 | <ul> |
选择符:
1 | ul:first-child{}/*选择第一个ul下第一个标签(css2定义,支持ie7)在处理margin时很有用*/ |
3.伪元素选择器
1 | ::first-letter{}/*选择第一个字母*/ |
4.组合选择器
4.1后代选择器
1 | .main h2{ }/*选择class名为mian元素内的所有h2标签*/ |
4.2子选择器
1 | .main>h2{ }/*选择class名为mian元素内的直接关联与父元素的h2标签*/ |
4.3相连选择器
1 | h2~p{}/*只要P标签前有h2标签便选择*/ |
4.4兄弟选择器
1 | h2~p{}/*选择h2标签后出现的所有p标签*/ |
4.4选择器分组
1 | h1,h2,h3{backgound-color:#ddd;}/*同时设置h1,h2,h3标签,使用","分隔*/ |
5.继承
1 | body{font-family:"Microsoft Yahei";}/*设置页面中所有的字体为微软雅黑*/ |
- 继承属性
- color
- font
- text-align
- list-style
- …
- 非继承属性
- background
- border
- position
- …
6.CSS优先级
- 计算方法
- a = 行内样式
- b = ID选择器的数量
- c = 类/伪类和属性选择器的数量
- d = 标签选择器和伪元素选择器数量
value = a1000 + b100 + c*10 +d
!important
强行提升优先级