css选择器及优先级
选择器优先级
先不讨论多个选择器嵌套的情况
css优先级: !important>行间样式> id选择器(#myid)>属性选择器(a[rel="external"])&&伪类选择器(a:hover, li:nth-child)&&类选择器(.myclass)>元素选择器
具体:
行内样式:优先级1000
ID选择器:优先级0100
类选择器/属性选择器/伪类选择器(0010)
元素选择器/伪元素选择器(0001)
关系选择器/通配符选择器(0000)
注意:! important:优先级最大10000 (用了后就不能修改慎用)
带!important 标记的样式属性优先级最高; 样式表的来源相同时:!important> 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性
具体例子:
span 优先级1
div span 优先级1+1
div:first-child == 1+10
.p1 span 优先级10+1.
#divI span 优先级100+1
1.基础选择器
1.1. ID选择器
ID选择器使用 "#" 号加ID名称xx来表示,用来选择HTML 中的id="xxx"的DOM元素
<div id="page">我是id选择器</div>
当我们想给这个元素应用样式时候
#page{
color:#fff;
background:#000;
}
1.2. 类选择器
类选择器我们是用 “.” 加上claa名称来表示,用来选择HTML中的class="xx"的DOM元素。
<li class="list-item">1</li>
<li class="list-item">2</li>
<li class="list-item">3</li>
把样式加到每一条元素,使用类选择器
.list-item{
color:red;
font-size:16px
}
1.3. 通配符选择器
通配符选择器使用 * 来 选择页面里面的所有元素
*{
margin:0;
padding:0;
}
由于通配符选择器要把样式覆盖到所有的元素上,因此它的效率不会高。
1.4. 标签选择器
标签选择器就是选中HTML中某一种类的标签,直接使用HTML中的标签名作为肖泽强的名称
li{
font-size:20px;
}
Tips 标签选择器通常用来重置某些标签的样式,标签选择器的效率也不是很高
1.5. 属性选择器
属性选择器通过DOM的属性来选择DOM节点,属性选择器用括号"[]"包裹,如下
a[href]{
color:red;
}