`
sunguanxing
  • 浏览: 1084425 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

css选择器优先级

阅读更多
css优先级即CSS样式在浏览器中被解析出来的先后顺序。
css优先级包含四个级别(行内样式,ID选择符,class类选择符,元素选择符)以及各级别出现的次数。继承是css的一个主要特征,然后继承的权重很低,比普通元素还要低。
1.行内样式(类似<p style="color:red">css</p>的样式)的优先级为1,0,0,0,始终高于外部定义(指由<link>或<style>卷标定义的规则)。
2.有!important声明的规则高于一切。
3.如果优先权一样,则按照在源码中出现的顺序决定,后者居上。
测试test_css.html
<html id="html" class="html">
<head>
<style>
div {
margin-top:5px;
}
/*第一组*/
#test1{background-color:#00FF00;}
.test1{background-color:#FF0000;}

/*第二组*/
.body #test2{background-color:#FF0000;}
#test2{background-color:#00FF00;}

/*第三组*/
div .test3{background-color:#00FF00;}
#test3{background-color:#FF0000;}

/*第四组*/
.body #test4{background-color:#00FF00;}
body #test4{background-color:#FF0000;}

/*第五组*/
html #test5{background-color:#00FF00;}
body #test5{background-color:#FF0000;}

/*第六组*/
#body #test6{background-color:#FF0000;}
.html #test6{background-color:#00FF00;}

/*第七组*/
html #body #test7{background-color:#FF0000;}
.html .body #test7{background-color:#00FF00;}

/*第八组*/
#html.html .body #test8{background-color:#FF0000;}
.html #body.body #test8{background-color:#00FF00;}
</style>
</head>
<body id="body" class="body">
<div id="div">
    <div id="test1" class="test test1">1第一行<br>第二行<br>自身</div>
    <div id="test2" class="test test2">2第一行<br>第二行<br>自身</div>
    <div id="test3" class="test test3">3第一行<br>第二行<br>自身</div>
    <div id="test4" class="test test4">4第一行<br>第二行<br>自身</div>
    <div id="test5" class="test test5">5第一行<br>第二行<br>自身</div>
    <div id="test6" class="test test6">6第一行<br>第二行<br>自身</div>
    <div id="test7" class="test test7">7第一行<br>第二行<br>自身</div>
    <div id="test8" class="test test8">8第一行<br>第二行<br>自身</div>
</div>
</body>
</html>
第一组,仅一个选择器单词的时候#id高于.class.
第二组,.body#test2比#test2多了一个单词,多一个单词就选择得更精确,优先给就要高一些。
第三组,同样多了一个单词,但其中一个是#id选择器,则#test3的优先级要高于div .test3.
第四组,同样多层级时,.class高于tag,所以.body #test4高于body #rest4.
第五组,具有同样的优先级,在源码中先写的会被覆盖,优先级与层级跨越的深度无关。
第六组,不用说了,#id高于.class,也与层级深度无关,因此#body #test6高于.html #test6。
第七组,从优先级包含的内容可知优先级与和级别出现的次数有关,前者出现次数大于后者,因此html #body #test7高于.html .body #test7(我是这样理解的)。
第八组,同五,同样的优先级,后者居上。
分享到:
评论

相关推荐

    关于CSS选择器优先级的判断题附结果截图

    主要介绍了关于CSS选择器优先级的判断并附结果截图,需要的朋友可以参考下

    深入理解CSS选择器优先级

    主要帮助大家深入理解CSS选择器优先级的相关内容,通过八个小例子分析比较CSS选择器优先级,感兴趣的小伙伴们可以参考一下

    css选择器优先级深入理解

    css基础选择器有标签选择器、类选择器、id选择器、通用选择器,本文将深入介绍css选择器优先级,这会给正在解决优先级问题的朋友,带来些许帮助

    ylsislove#make-a-little-progress-every-day#前端-CSS选择器优先级1

    声明在样式表或文档中越靠后出现,权重越大。如果样式表中有通过 @import 导入的样式表,一般认为出现在导入样式表中的声明在前,主样式表的所有声明在后。

    解决CSS样式冲突的几个办法(小结)

    通过使用组合器(Combinator)将选择器的描述写得更加精确(参考CSS选择器 – MDN ),例如对于下述代码片段,如果想给.cellphones中的.apple增加样式,只使用.apple,势必会对.fruit中的.apple也造成影响。...

    CSS标签选择器优先级.pdf

    CSS标签选择器优先级.pdf

    CSS中选择器优先级顺序实战讲解.pdf

    CSS中选择器优先级顺序实战讲解.pdf

    CSS选择器权重计算及优先级

    介绍CSS中,单个选择器,以及复合选择器的权重计算规则,比如: .box #mydiv ul li.txt。通过计算选择器的权重,区别其优先级,判 断最终样式的覆盖效果。

    彻底弄懂CSS选择器以及优先级

    CSS选择器优先级得关系为: !important&gt;内联&gt;ID选择器&gt;类选择器&gt;标签选择器。 一种优先级算法 内联样式表的权值最高 (style=””) 权值为1000 统计选择符中的ID属性个数。(#id) 权值为100 统计选择符中的CLASS属性...

    CSS入门源代码 CSS入门源代码

    CSS入门源代码 CSS其他选择器(上) CSS其他选择器(下) css选择器 css选择器优先级 css样式设置 列表样式 使用外部样式表 伪类分类 伪类样式 伪元素选择器 文本类样式 字体类样式

    详解CSS中的选择器优先级顺序

    CSS在使用选择器对元素施加属性的时候会有先后顺序,包括特殊性和重要性等概念在内,这里我们就来详解CSS中的选择器优先级顺序,需要的朋友可以参考下

    前端初中高面试题及答案

    2. css 选择器优先级? !important &gt; 行内样式(比重1000)&gt; ID 选择器(比重100) &gt; 类选择器(比重10) &gt; 标签(比重1) &gt; 通配符 &gt; 继承 &gt; 浏览器默认属性 3. 垂直居中几种方式? 单行文本: line-height = ...

    详解CSS中的选择器优先级及样式层叠问题解决

    可是,我们经常看到带有元素名称的选择器,例如,在微软的项目模板中就有大量的带有元素名称的选择器,如果没有用的话,为什么要这样写呢?哈哈哈,这么写是有原因的,下面就带大家一起看一下! CSS Code复制内容到...

    CSS选择器-xmind

    CSS选择器 xmind - 选择器分类(ID选择器,类选择器,标签选择器,通配选择器,属性选择器,伪类选择器)。 - 选择器关系(分组,后代,子元素,相邻兄弟,后续兄弟)。 - CSS特性(优先级,继承,层叠)。

    CSS选择器种类、优先级与匹配原理详解

    这个时候突然意识到了CSS选择器的优先级问题,这里就CSS选择器的优先级问题做了一些总结。 51CTO推荐阅读:巧妙地使用CSS选择器 选择器种类 严格来讲,选择器的种类可以分为三种:标签名选择器、类选择器和ID选择...

    css优先级98908u0

     ID选择器(形如#id{}) 类选择器(形如.class{}) 标签选择器(形如body{}或者*{}),也就是ID选择器,类选择器,标签选择器中,ID选择器的优先级最高,标签选择器最低;  选择器越具体优先级就越高,也就是  ....

Global site tag (gtag.js) - Google Analytics