权重值(css中权重值的示例分析)

发布时间:2025-12-10 23:59:09 浏览次数:36

css中有很多选择器,那在多个选择器都作用于同一个元素的情况下会出现什么效果呢? 代码

<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title></title><styletype="text/css">p{color:red;font-size:10px;}#wrap{color:deeppink;font-size:30px;}.box{color:yellow;font-size:50px;}</style></head><body><pclass='box'id="wrap">猜猜我是什么颜色</p></body></html>

&bull;执行可结果

&bull;小结 : 出现这种效果是因为浏览器是根据权重值来判断使用哪种css样式的,权重值高的它的优先级会越高,就会呈现那种css样式,id选择器的权重值为100>类选择器10>标签选择器1,所以最终结果为id选择器设置的样式

&bull;示列二 代码

!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title></title><styletype="text/css">*{color:cyan;}p{color:yellow;}</style></head><body><p><pclass='box'id="wrap">猜猜我是什么颜色</p></p></body></html>

&bull;执行结果

&bull;小结 : 继承元素是没有权重值的,所以最终结果为通用选择器设置的样式

&bull;实例三 代码

<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title></title><styletype="text/css">p{color:yellow;}*{color:cyan;}</style></head><body><p><pclass='box'id="wrap">猜猜我是什么颜色</p></p></body></html>

&bull;执行结果

&bull;小结 : 标签选择器的权重值是1,但是仍然大于通用选择器,所以最终结果为标签选择器设置的样式

&bull;实例四 代码

<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title></title><styletype="text/css">pp{color:yellow;}p>p{color:cyan;}p{color:red;}</style></head><body><p><pclass='box'id="wrap">猜猜我是什么颜色</p></p></body></html>

&bull;执行结果

&bull;实例五 代码

<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title></title><styletype="text/css">p>p{color:cyan;}pp{color:yellow;}p{color:red;}</style></head><body><p><pclass='box'id="wrap">猜猜我是什么颜色</p></p></body></html>

&bull;执行结果

权重值的计算

<!--有一个这样的结构:--><pclass='wrap1'id='box1'><pclass="wrap2"id="box2"><pclass='active'>MJJ</p></p></p><!--举几个例子看看他们的权重值:-->p{color:gray;}<!--权值为1-->ppp{color:yellow;}<!--权值为1+1+1=3-->.active{color:red;}<!--权值10-->p.active{color:black;}<!--权值为11-->pp.active{color:blue;}<!--权值为12-->.wrap#box2.active{color:purple;}<!--权值为120-->#box1#box2.active{color:green;}<!--权值为210--><!--由此可以看出,其实对于权重值的计算来说,首先它是不进位的,对于使用的选择器我们无非就是在数数,数选择器的数量(按照顺序来,先是id再是class,再是元素),比如:-->#box1.wrap2p{color:red;}<!--权值为111-->注意:继承来的属性也有权重值,不过它的权值非常低,可以理解为继承的权重值最低。!important提升权重值实例<!--我们在做网页代码时,有些特殊的情况需要为某些样式设置具有最高权重值,怎么办?比如我们知道内联样式的权重值是1000,比较大,那么我们可以使用!important来解决。--><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>!important的使用</title><styletype="text/css">p{color:green!important;}</style></head><body><pid="box"style="color:red;"><span>MJJ</span></p></body></html>

&bull;执行结果

&bull;小结: 使用!important是一个坏习惯,应该尽量避免,因为这严重破坏了样式表中固有的权重值比较规则,使得在调试bug变得更加困难。当两条相互冲突的带有!important规则作用与同一个标签,那么拥有最大优先级的将会被采用。

什么情况下可以使用!important ?

&bull;第一种

◦你的网站上有一个设计了全站样式的css文件
◦同时你或者你的小伙伴写了一些很差的内联样式

&bull;第二种

box p { color: blue; } p.awesome { color: red; }

怎样才能使得文本的颜色变为红色?这种情况下,如果不适用!important.第一条规则永远大于第二条的规则。

总结:

感谢你能够认真阅读完这篇文章,希望小编分享的“css中权重值的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持本站,关注本站行业资讯频道,更多相关知识等着你来学习!

权重值
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477