浅谈CSS 权值 层叠 重要性(!important)
1、特殊性 权值
有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一下面的代码:
- p{color:red;}
- .first{color:green;}
- <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>
p和.first都匹配到了p这个标签上,那么会显示哪种颜色呢?green是正确的颜色,那么为什么呢?是因为浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。
下面是权值的规则:
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:
- p{color:red;} /*权值为1*/
- p span{color:green;} /*权值为1+1=2*/
- .warning{color:white;} /*权值为10*/
- p span.warning{color:purple;} /*权值为1+1+10=12*/
- #footer .note p{color:yellow;} /*权值为100+10+1=111*/
注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
2、层叠
如果在html文件中对于同一个元素可以有多个css样式存在并且这多个css样式具有相同权重值怎么办?好,这一小节中的层叠帮你解决这个问题。
层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。
如下面代码:
- p{color:red;}
- p{color:green;}
- <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>
最后 p 中的文本会设置为green,这个层叠很好理解,理解为后面的样式会覆盖前面的样式。
所以前面的css样式优先级就不难理解了:
内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。
3、重要性
我们在做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时候我们可以使用!important来解决。
如下代码:
- p{color:red!important;}
- p{color:green;}
- <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>
这时 p 段落中的文本会显示的red红色。
注意:!important要写在分号的前面
这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。
以上这篇浅谈CSS 权值 层叠 重要性(!important)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
- link与@import这两种方式都是为了加载CSS文件,但还是存在着细微的差别。下面脚本之家小编给大家介绍CSS中link和@import的区别说明,感兴趣的朋友一起看下吧2016-08-12
- 这篇文章主要介绍了CSS中的@import,是CSS入门学习中的基础知识,需要的朋友可以参考下2015-07-14
- !important只有Ie7.0和firefox可以识别,但是Ie6.0不能成功应用.!important提升优先级,下面对它的用法做下总结2014-08-08
- 这篇文章主要介绍了加了important标记css样式的jQuery写法,需要的朋友可以参考下2014-07-16
- 使用!important对于性能并没有什么负面影响。但是从可维护性角度考虑还是少用这个规则。不过这个规则在IE6中有bug2014-06-05
- 一直以来写CSS的时候都没有过多的考虑使用@import的方式,最近又看到有朋友在讨论关于@import的一些好坏,以及要不要使用@import的方式加载样式,需要的朋友可以了解下2012-12-12
- 本文章详细的介绍了关于link和@import的区别,有需要了解的朋友可以参考一下本文章2012-03-31
- 我们引用css文件通常有两种方式:link,@import 这两天整理了一下这两种用法的区别,加深认识2010-06-17
- 很多人,包括很多网站(我所见过的所有网站,包括国内著名的‘网页设计师’网站),都说important是不被IE所支持和认识的,可是真的是这样吗?看了下边的两个例子,也许你2010-01-05
Webpack 中 css import 使用 alias 相对路径的方法
在 Vue 项目中,我们通常使用 vue-webpack 脚手架生成工程模板,然后配置 @ 为项目根目录下放资源和源码的 /src 目录的别名。这篇文章给大家介绍Webpack 中 css import 使2018-07-24


最新评论