CSS中的!important是一个很是重要的属性,有时候发挥着很是大的做用,52CSS.com这方面的知识并非很是多,咱们看下面的文章,对它做比较感观的了解。
前几天写一些CSS代码的时候又难为我了,由于那个该死的IE6对CSS的支持是如此的差劲,之前我还没注意过,由于作的东西基本都是基于IE的,但是我此次为博客写的CSS要支持不止IE一个浏览器,可恨的是我装的Windows 7,这里面自带的是IE8浏览器,我自认为已经没有问题了,但是打开IE6,仍然出现错位,因而我决定看看IE6究竟是什么状况。
我把全部的CSS块儿所有使用边框包起来,结果看到在IE中两个div之间的距离明显要宽于其余浏览器,好比你写一个div的margin属性为20px,那么在IE中就好像是40px同样,这也就是为何原本精度计算的刚恰好,在IE下却恰恰错位的缘由。
后来我看到了!important这个属性,这个属性其实也是css规范中的,结果IE6愣是不支持,也正由于它不支持,才让不少的CSSer们找到了解决的方法。通常来说,在css中,若是在同一个css块中写下两个一样的属性,那么实际上是按照最下面的来执行的,好比说:css
.home{
margin-left:20px;
margin-left:40px;
}
那么在执行的时候实际上是按照40px来执行的,!important的出现就是为了让用户本身设置被执行语句的优先级。若是把上面的语句改成:
.home{
margin-left:20px!important;
margin-left:40px;
}
那么在火狐、google浏览器以及IE7以上版本下将会按照20px来执行,而在IE6下却仍然按照40px来执行,由于IE6并不支持!important规范,咱们就能够按照这个规则来知足IE6的设计须要,何时发现IE6和其余浏览器显示效果不一样,那么就设置两个,在上面的一个加入!important标记,而下面的一句则不须要添加,这样IE6就按照下面的来执行了。资深的CSSer说:现在的CSS到处!important。这可都是天杀的IE6惹的祸,你们说IE6就是一坨代谢产物一点也不为过。