css选择器权重和超越`!important`

715 阅读1分钟
div span#text {width: 200px;}
div span.text {width: 100px;}

根据选择器优先级:!important,style,id,class,:after,div.不难得出最后宽度200px,换个思路再看下面

div span#text {width: 200px;}
div span.text {width: 100px!important;min-width: 120px;}
或者
div span#text {width: 200px;}
div span.text {width: 100px!important;min-width: 80px;}

这个时候呢?根据刚刚我们说的选择器优先级来说答案还是200,但是我们程序一向用事实说话,测试一番以后发现答案是width: 100px!important;min-width: 120px;,我们来说下为什么:在css中,!important的权重相当的高,但是由于宽高会被max-width/min-width覆盖,所以!important会失效,所以上面代码计算之后会被引擎解析成:div span.text {width: 100px!important;min-width: 80px;},好了今天我们就解释到这里了。