当前位置: 首页 > Web前端 > CSS

CSS中选择器的权重值

时间:2023-03-30 21:52:33 CSS

h1{font-size:12px;颜色:#000;}CSS有自己的优先级计算方式,不仅仅是行间>内部>外部,ID??>类>元素1.样式类型行间样式我的内联CSS样式。内联样式h1{font-size:12px;颜色:#000;}外部样式2.选择器类型选择器栗子ID#idclass.class标签p属性[type='text']伪类:悬停伪元素::首行相邻选择器,子选择器>+3。权重计算规则的内联样式,如:style="...",权重为1000。ID选择器,如:#content,权重为0100。类、伪类、属性选择器,如。内容,权重为0010。类型选择器、伪元素选择器,如divp,权重为0001。通配符、子选择器、相邻选择器等,如果*>+,权重为0000。继承样式没有权重4.比较规则1,0,0,0>0,99,99,99。即从左到右逐级比较,当上一级相等时向后比较。无论是行间、内外样式,都是按照这个规则进行比较的。而不是直观的line->inner->outer-style;ID>类>元素。之所以会出现这种错觉,是因为它确实是一流的线间权重,所以它的权重是最高的。内部样式一般可能是在引用了外部样式之后才写的,所以覆盖掉之前的样式。在权重相同的情况下,后面的样式会覆盖前面的样式。通配符、子选择器、相邻选择器等。虽然权重为0000,但优先于继承样式,0权重优先于无权重。5.!important!important的作用是增加优先级,换句话说。带有这句话的样式具有最高优先级(优先级高于内联样式)。我显示红色

 ie7+等浏览器对important有这个效果支持很好的。只有ie6-somebugp{color:red!important;颜色:蓝色;}//会显示蓝色但这并不代表ie6不支持important,只是支持有一些bug。p{颜色:红色!重要;}p{color:blue;}//这将显示红色。说明ie6仍然支持important当!important规则应用于样式声明时,样式声明将覆盖CSS中的任何其他声明,无论它在声明列表中的哪个位置。尽管如此,!important规则与优先级无关。使用!important不是一个好的做法,因为它会改变样式表的级联规则,这很难调试。使用!important时请注意:NeverNeverNeveruseonsite-widecss!importantOnly仅在需要覆盖站点范围或外部css的特定页面(例如引用的ExtJs或YUI)中使用!importantNeverNeverNeveruseinyourUse!importantAlwaysinplugins优化并考虑使用样式规则的优先级来解决问题而不是!important。留言指出~参考:CSS选择器权重计算规则MDN优先级是如何计算的?PS:欢迎大家关注我的公众号【前端下午茶】,一起努力吧~另外,可以加入“前端下午茶交流群”微信群,长按识别下方二维码加我为好友,加群备注,我拉你进群~