CSS中权重的优先级是什么?
CSS权重是由四个数值决定,看一张图比较好解释:
从CSS代码存放位置看权重优先级:内嵌样式 > 内部样式表 > 外联样式表。其实这个基本可以忽视之,大部分情况下CSS代码都是使用外联样式表。
从样式选择器看权重优先级:important > 内嵌样式 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符。
important的权重为1,0,0,0
ID的权重为0,1,0,0
类的权重为0,0,1,0
标签的权重为0,0,0,1
伪类的权重为0,0,1,0
属性的权重为0,0,1,0
伪对象的权重为0,0,0,1
通配符的权重为0,0,0,0
<html>
<head>
<style type="text/css">
#left{color:black!important;} /*1,1,0,0*/
#container #left{color:red;} /*0,2,0,0*/
#left{color:green!important;} /*1,1,0,0*/
.container #left{color:blue;} /*0,1,1,0*/
</style>
</head>
<body>
<div class="container" id="container">
<span id="left">这到底是什么颜色啊?</span>
</div>
</body>
</html>
2024-03-16 广告
1、行内样式:应用内嵌样式到各个网页元素。如<div style="width:100px;"></div>,优先级最高
2、内页样式:在网页上创建嵌入的样式表。直接写在网页中,如<head>.div1{width:100px;}</head>,优先级次于行内样式
3、外部样式:将网页链接到外部样式表。通过<link href="css.css" rel="stylesheet" type="text/css"/>引入CSS,优先级最低
二、CSS选择器优先级:
1、ID选择器优先级高于CLASS选择器,如#div1高于.div1
2、层级深的定义优先级更高,如#div1 .img高于.img
……
<div sytle="">
>
<head><style></sytle></head>
>
<link rel="stylesheet" type="text/css" href="style.css"/>
然后是<style></style>里面的·嵌入
最后是链接式 <link/>标签
2014-02-27