注意CSS代码中的!important属性


  CSS中的!important是一个非常重要的属性,有时候发挥着非常大的作用,这方面的知识并不是非常多,我们看下面的文章,对它作比较感观的了解。

  前几天写一些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块中写下两个同样的属性,那么其实是按照最下面的来执行的,比如说:

.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就是一坨代谢产物一点也不为过。



相关阅读:
asp.net创建文件夹的IO类的问题
Javascript实例:Select的OnChange()事件
win7无法访问局域网win2003系统共享的文件的解决方法
csdn 博客的 css样式 v5
CSS:清除浮动的最优方法
asp+ajax实现静态页面分页的代码
asp.net 文件下载实现代码
js下用eval生成JSON对象
Ext 今日学习总结
网页版Firebug
非常酷的微格式:XFN规范
js 右键菜单,支持不同对象不同菜单(兼容IE、Firefox)
Ubuntu:最受欢迎的Linux发行版
Jsp结合XML+XSLT将输出转换为Html格式
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4