CSS样式的优先级

1、相同权值情况下,CSS样式的优先级总结来说,就是——就近原则(离被设置元素越近优先级别越高):

内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。

2、权值不同时,浏览器是根据权值来判断使用哪种css样式的,哪种样式权值高就使用哪种样式。

下面是权值的规则:

标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:

p{color:red;} /*标签,权值为1*/

p span{color:green;} /*两个标签,权值为1+1=2*/

p>span{color:purple;}/*权值与上面的相同,因此采取就近原则*/

.warning{color:white;} /*类选择符,权值为10*/

p span.warning{color:purple;} /*权值为1+1+10=12*/

#footer .note p{color:yellow;} /*权值为100+10+1=111*/

注意:(1)还有一个权值比较特殊——继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。(继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。如<p>便签内部的<span>标签就会继承该<p>标签的样式);

(2)做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,可以使用!important来解决。如下代码:

p{
    color:red!important;        /*!important要写在分号前
}

这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。

3、使用JS对样式进行操作时往往可通过两种方式:object.style.property=new style和object.className = new classname。前者是修改行间样式,JS代码执行后,审查元素可看到样式会直接显示在行间代码中,如:;后者则是在行间增加了新的class,而不会将具体的样式代码显示出来,

如:。由于行间样式的优先级更高,在用前者修改了某个样式的情况下,后者若对其做修改则不会有效果。针对这个我做了一个demo,链接在此:http://jsfiddle.net/0sevs51d/1/

时间: 2024-10-03 14:55:53

CSS样式的优先级的相关文章

[程序员入行必备]CSS样式之优先级

专业玩家请移步:http://www.w3.org/TR/CSS2/cascade.html 使用CSS控制页面样式时,经常出现设定的样式被"覆盖",不能生效的情况. 浏览器是依据怎样的优先次序判断CSS样式的优先级的呢? 总结如下: 样式的来源 样式有多处来源,有网页开发作者设定的.有浏览器默认的.还有网页用户设定的.各种样式声明逐层叠加,或继承.或覆盖.或叠加计算,影响元素的展现效果. 样式的来源依次有: 1.浏览器默认样式: 2.用户样式: 3.作者链接样式: 4.作者页内嵌入样

CSS样式选择器优先级

原文:CSS样式选择器优先级 CSS样式选择器分为4个等级,a.b.c.d,可以以这四种等级为依据确定CSS选择器的优先级. 1.如果样式是行内样式(通过Style=””定义),那么a=12.b为ID选择器的总数3.c为Class类选择器的数量.4.d为类型选择器的数量5.属性选择器,伪类选择器和class类选择器优先级一样,伪元素选择器和类型选择器一样6.!important 权重最高,比 inline style 还要高. 例如: 选择器 特殊性 (a,b,c,d) Style= ”” 1,

Web前端面试指导(十三):css样式的优先级是怎么样的?

题目点评 CSS样式的优先级规则给人的感觉总是摸不透,更不用说怎么去表达了,在网络上流传着很多版本,描述的都很复杂也不全面,看了之后还是不满意.我来给大家介绍一个比较系统.全面有比较容易记住的规则吧! 解答思路 样式优先级规则 1.优先级顺序为:!important>style>权重值 2. 如果权重相同,则最后定义的样式的起作用,应该避免这种情况出现 权重规则 标签的权重为1 class的权重为10 id的权重为100 权重取值示例

css样式代码优先级

特殊性 有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一下面的代码: p{color:red;} .first{color:green;} <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</p> p和.first都匹配到了p这个标签上,那么会显示哪种颜色呢?green是正确的颜色,那么为什么呢?是因为浏览器是根据权值来判断使用哪种css样式

CSS样式之优先级

说到到css的样式优先级,今天偶再来回顾下,从css的样式优先级可分为两个部分: 1.从CSS代码放置的位置看权重优先级:     内联样式 > 内部嵌入样式 >外联样式 2.从样式选择器的权重优先级:     Important > 内联样式 > ID > 类.伪类.属性选择器 > 标签.伪元素 > 通配符 今儿,我们重点来看看第2点—样式选择器. 请看以下代码: <!DOCTYPE html> <head> <title>c

CSS怎样改变行内样式(通过外部级联样式表) css !important用法CSS样式使用优先级判断

CSS样式优先级 行内>内部>外部 使用!important的css定义是拥有最高的优先级的.只是在ie6下出了一点小的bug,注意书写方式一般可以轻松避开的. CSS中的!important一般都是用于对低版本的除了iE 6 ,用来做hack的,后面缀上了!important的css语句,让浏览器首选执行这个语句,因为css有继承的样式,加上!importanrt可以覆盖父级的样式. IE6不认识它的,IE7和别的浏览器中可以用,用来处理浏览器的兼容性 .padding-l-r p span

CSS样式呈现优先级

经常出现CSS样式不生效的问题. 比如我先对p{},然后在其中一个标签写了个.p_style{}怎么都不生效,于是想到了CSS的呈现优先级. 经过自己测试, 属性style=""     >       ID(#id{})           >          元素(p{})               >            类Class(.p_style{})

css样式引入优先级?

css中的优先级讲的有 1.选择器的优先级. 2.样式引入的优先级. 今天要研究的是样式引入的优先级.网上又很多答案都是如下的,但是真的是这样的吗,让我们来探一探究竟是如何. 四种样式的优先级别是:行内样式最高.   ?优先级?  内嵌样式>链接样式>导入样式? 在这四种的优先中,行内样式最高(内嵌样式),大家都是认可的.但剩下的3中就会是我们想的那样吗? 测试代码如下.很简单,先测试内联样式 .一段文本,给设置个color:red:红色. <!DOCTYPE html > <

实践中了解到的CSS样式的优先级

CSS三大特性--继承.优先级和层叠.这是在精通CSS中重点强调的内容. 继承即子类元素继承父类的样式,常用的可继承样式有:color,font,line-height,list-style,text-align,text-indent等,应用样式的元素的后代会继承样式的某些属性. 输出结果: 由此可知,p继承了父元素的字体大小,而h1的话则是默认(2em)字体大小,一般h1都是200%字体大小,如果需要设置成和p同样的大小,可以把font-size改为100%: