-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
css3 flex实例
css 选择器
getComputedStyle
选择器
- 分组
对不同的标签使用同一个规则
div, span, a, input{
font-size: 24px;
}
- 类选择器/ID选择器
列出一些特别的表达式
.class1.class2{ // 仅表示选择同时包含这些类名的元素(类名的顺序不限)
color: red;
}
.class1 .class2{ // 同等于后代选择器
color: red;
}
.class1, class2{ // 同1:分组
color: red;
}
- 属性选择器
img[src]{
content: attr(alt);
}
img[src="1.png"]{
content: attr(alt);
}
img[src~="1.png"]{ // src值包含1.png
content: attr(alt);
}
img[src^="1.png"]{ // 以1.png开头
content: attr(alt);
}
img[src$="1.png"]{ // 以1.png结尾
content: attr(alt);
}
img[src*="1.png"]{ // 包含1.png
content: attr(alt);
}
- 后代选择器
div span{ // div元素下的所有span,不管span元素属于第几代
color: red;
}
div > span{ // div元素的子span元素
color: red;
}
h1 + p{ // 选择相邻兄弟元素
color: red;
}
选择器的特殊性
选择器的特殊性分为四个等级:a,b,c,d.
- 若样式为行内样式,则a=1;
- b等于ID选择器的总数;
- c等于类、伪类和属性选择器的数量;
- d等于类型选择器和伪元素选择器的数量。
使用这些规则可以计算出任何css选择器的特殊性:
| 选择器 | 特殊性 | 以10为基数的特殊性 |
|---|---|---|
| style='' | 1,0,0,0 | 1000 |
| #id #id1 | 0,2,0,0 | 200 |
| #id .class | 0,1,1,0 | 110 |
| div#id | 0,1,0,1 | 101 |
| #id | 0,1,0,0 | 100 |
| p.class .class1 | 0,0,2,1 | 21 |
| p.class | 0,0,1,1 | 11 |
| div p | 0,0,0,2 | 2 |
| p | 0,0,0,1 | 1 |
基本上,用style属性编写的规则总是比其他任何规则特殊,具有ID选择器的规则总是比没有ID选择器的规则特殊,具有类选择器的规则比只有类型选择器的规则特殊。最后,如果两个规则的特殊性相同,那么后定义的规则优先。
综合所有规则:important>行内样式>id>class>标签>通用样式