id=100
class=10
tag(标签)=1
按照这个规律去计算,比如
#qietu div{}
100+1 = 101
.qietu .box{}
10+10=20
可以得出第一个的权重要比第二个要高。另外关于权重的扩展知识面,偶推荐了解下BEM命名规则,这个观念很好,可以从侧面杜绝权重问题的产生,还有一个就是提高权重的方法 !important;
@ css中四种常用的虚类顺序?
四种伪类存在着一定的顺序,称为LVHA顺序。各个样式之间的顺序很有讲究,一旦出现排列错误就很有可能形成覆盖,导致其中某个样式无法显示。link与visit的位置是随意的。但hover,focus,active则必须按照focus–hover–active这个顺序。
@ css的优先级怎么判断?
css选择器优先级怎么比较CSS选择器中比较常见的有标签选择器、ID选择器、类选择器以及子选择器。而事实上,CSS选择器如果细分下来,竟然多达40多种。那他们的优先级该怎么比较呢,下面就来看看吧。
● 不同级别
1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
2. 作为style属性写在元素内的样式
3. id选择器
4. 类选择器
5. 元素选择器
6. 通配符选择器
7. 浏览器自定义或继承
总结排序:!important > 行内样式 > ID选择器 > 类选择器 > 元素 > 通配符 > 继承 > 浏览器默认属性
● 同一级别
(1) 同一级别中后写的会覆盖先写的样式
(2) 同一级别css引入方式不同,优先级不同
总结排序:内联(行内)样式 > 内部样式表 > 外部样式表 > 导入样式(@import)。
对于选择器优先级,还可以通过计算权重值来比较
@ important?
本来不想回答的,但是偶发现楼上回答有问题,会让人误解,偶更正一下 !important 表示高优先级。
IE6浏览器不认识 !important 。举例: 正常情况下,写在下面的样式优先级高于上面的样式 demo1{ color:red; color:green; /*绿色的优先级高于红色,所有浏览器都会显示绿色*/ } 加了!important 那么它的优先级会比较高,ie6比较傻,不认识。demo2{ color:red !important; /*除了ie6,其他浏览器会认为红色优先级高,显示红色字体*/ color:green; /*ie6浏览器则顺序读取css所以显示绿色*/ } 但是注意,IE6不认识!important的优先级,但并不代表IE6不认识带!important的样式属性。demo3{ color:red; color:green !important; /*包括IE6,所有浏览器都显示绿色字体,ie6只是不认识优先级罢了*/ }