这一块可以说是很基础了,只有用选择器选中元素,才能使样式生效
直接选中原生 html 标签名,该选择器可以说是优先级最低的了,在没有其它类型选择器时才会考虑它
div {
width: 100px;
height: 50px;
}
选中标签定义的 id 名字,该选择器高于类选择器但是低于内联样式
#great {
width: 100px;
height: 50px;
}
选中标签中定义的 class 名字,该选择器优先级高于标签选择低于 id 选择
.great-class {
width: 100px;
height: 50px;
}
基于上面的方式衍生的,目的是为了区别不同父标签下相同 标签名,id 名,类名的元素。
#great div{
width: 100px;
height: 50px;
}
.great-class aside span{
width: 100px;
}
同时选中多个元素,用逗号隔开
#great, .great-class, div{
width: 100px;
height: 50px;
}
选中相邻的兄弟元素
<div id="one"></div>
<section></section>
#one + section{
width: 100px;
height: 50px;
}
选中指定属性值的所有元素
<div title="one">one</div>
<section>
<p class="two">two</p>
</section>
div[title="one"] {
color: red;
}
p[class="two"] {
color: blue;
}
可以根据元素的状态来进行样式的改变
div:first-child {
font-size: 17px;
}
div:hover {
color: green;
}
众多类型的选择器方式,还可以组合使用,那么如何区分呢
优先级由 A,B,C,D 四个值确定,计算规则如下
将四个值当成一个序列,(A,B,C,D),按照从左往右的顺序依次比较,较大者直接胜出,相等继续比较下一位,如四个值都相等,后面的样式覆盖前面的
<div id="one" class="two">
<p></p>
</div>
#one p:hover {
font-size: 17px;
}
.two p:hover {
color: green;
}
比较到第二位也就是 B 时,1 > 0,所以前面一个样式优先,盖过第二个样式
今天的总结就到这里,感谢您的阅读!