关于CSS的优先级,CSS优先级计算

原则一: 继承不如指定
原则二: #id > .class > 标签选择符
原则三:越具体越强大
原则四:标签#id >#id ; 标签.class > .class

CSS优先级权重计算法

CSS优先级包含四个级别(标签内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数!

根据这四个级别出现的次数计算得到CSS的优先级。

CSS优先级的计算规则如下:
* 元素标签中定义的样式(Style属性),加1,0,0,0
* 每个ID选择符(如 #id),加0,1,0,0
* 每个Class选择符(如 .class)、每个属性选择符(如 [attribute=])、每个伪类(如 :hover)加0,0,1,0
* 每个元素选择符(如p)或伪元素选择符(如 :firstchild)等,加0,0,0,1
然后,将这四个数字分别累加,就得到每个CSS定义的优先级的值,
然后从左到右逐位比较大小,数字大的CSS样式的优先级就高。

例子:
css文件或<style>中如下定义:
1. h1 {color: red;}
/* 一个元素选择符,结果是0,0,0,1 */
2. body h1 {color: green;}
/* 两个元素选择符,结果是 0,0,0,2 */
3. h2.grape {color: purple;}
/* 一个元素选择符、一个Class选择符,结果是 0,0,1,1*/
4. li#answer {color: navy;}
/* 一个元素选择符,一个ID选择符,结果是0,1,0,1 */
元素的style属性中如下定义:
h1 {color: blue;}
/* 元素标签中定义,一个元素选择符,结果是1,0,0,1*/

如此以来,h1元素的颜色是蓝色。
注意:
1、!important声明的样式优先级最高,如果冲突再进行计算。
2、如果优先级相同,则选择最后出现的样式。
3、继承得到的样式的优先级最低。

时间: 2024-08-07 21:18:45

关于CSS的优先级,CSS优先级计算的相关文章

CSS中选择器优先级的权重计算

CSS中选择器优先级的权重计算 先看一段代码,如下: a{ color: red; } #box a{ color: green; } [class="box"] a{ color: gold; } .box a{ color: brown; } p a{ color: yellow; } </style> <p id='box' class="box"> <a>hello</a></p> 请问上面代码中,

举例详解CSS中的的优先级

计算优先级 优先级是根据由每种选择器类型构成的级联字串计算而成的.他是一个对应匹配表达式的权重. 如果优先级相同,靠后的 CSS 会应用到元素上. 注意:元素在文档树中的位置是不会影响优先级的优先级顺序 优先级逐级增加的选择器列表: 通用选择器(*)    元素(类型)选择器    类选择器    属性选择器    伪类    ID 选择器    内联样式 基于类型的优先级 优先级是根据选择器类型进行计算的. 在下面的例子中,属性选择器尽管选择了一个ID但是在优先级计算法则中还是根据其类型计算.

我给女朋友讲编程CSS系列(2)- CSS语法、3大选择器、选择器优先级

首先看一下使用Css设置h1标签字体颜色和大小的例子,效果图如下: 新建一个网页test.html,然后复制粘贴下面的内容: <html> <head> <style type="text/css"> h1 {color:red; font-size:14px;} </style> </head> <body > <h1>使用Css让h1标签字体变红</h1> </body> &

CSS的继承与优先级

CSS样式继承性 body,div,p{} html文档可以上图的种种节点树的形式表示,css层叠样式表中的各元素也有这种对应关系 <body>是文档中最大的根节点,body中的所有元素都是body的后代元素 从各元素的关系上分析:各元素之间有如下几种关系: E F 后代关系 E>F 父子关系 E,F (E,可以是任意的元素类型,可以跨级) E+F 相邻关系 详细说明: HTML文档是一种树状的结构.各元素之间有一定的层级关系.这种关系同样反映在CSS中. CSS中,内层元素将继承外层元

CSS特异性(CSS Specificity)的细节之CSS样式权重的计算与理解(CSS样式覆盖规则)

本篇讲解CSS特异性(CSS Specificity)的细节,也就是CSS样式选择器的权重计算 通过计算选择器的权重(weight)最终决定哪个选择器将获得优先权去覆盖其他选择器的样式设定,即"优先原则(priority rules)"! 首先,我们来一个简单的例子: <body> <ul id="summer-drinks"> <li class="favorite">First section</li

CSS选择器、CSS hack及CSS执行效率

主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS  一.CSS选择器.优先级与匹配原理     CSS选择器大概可以分为:1.id选择器(#myid)  2.类选择器(.myclassname)  3.标签选择器(div,h1,p)  4.相邻选择(h1+p)6.后代选择器(li a)7.通配符选择器(*)  8.属性选择器(a[rel='externaml']) 9.伪类选

让IE和Firefox兼容的CSS技巧集合css hack

CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不

Css入门课程 Css基础

html css javascript三者关系 html是网页内容的载体 css是网页内容的表现,外观控制 javascript是网页逻辑处理和行为控制 css相对于html标签属性的优势 css简化了标签代码,利于下载提高效率 解决了网页内容与外观分离 利于维护,提供工作效率 css语法基础 css语法:选择符+申明,其中申明是指属性-值形式,注意css样式区分大小写 css使用方式 1)行内样式,又称内联样式 是通过标签的style属性书写在标签内部的样式 2)内部样式,又称嵌入样式 是在网

CSS基础之CSS的三大特性【重要】

一.继承性( Inherited ):给父元素设置的属性,子孙元素也可以使用. 应用场景:一般用于设置网页上的一些共性信息,文字大小.字体颜色等 注意点: 1.不是所有的属性都可以继承,只有以 color / font- / text- / line 开头的属性才可以继承. 2.继承性中的特殊性: a标签中的文字颜色和下划线,不能通过继承修改(不是亲生的) h标签中的文字大小,不能通过继承修改(不是亲生的) 二.层叠性:CSS处理冲突的一种能力 注意点: 层叠性只有在多个选择器中选择同一个标签,

css的入门——css简介,颜色,文本

CSS简介 1.理解CSS:设想元素周围有一个看不见的盒子. CSS将样式规则与HTML元素相关联,CSS通过将规则与HTML元素相关联的方式来工作.这些规则用来控制指定元素中的内容如何显示.一条CSS规则包含两个部分:一个选择器和一条声明. p {font-family:Arial;} 这条规表明所有<p>元素都已更改用Arial字体来显示. 其中绿色部分为选择器,选择器表明要应用规则的元素.同一条规则可以应用在多个元素上,前提是你需要将这些元素名用逗号隔开. 蓝色部分是声明,声明用于表明应