别不多述,众所周知,当一个DIV使用padding时,padding值将占用总值
也就是说
实际值=总值-padding值
其它浏览器都会自动进行加算,在页面中显示为实际值+padding值,但IE不会
在这个多种浏览器并用的年代...解析方法不统一还真是麻烦透了...
示例代码如下:
| #cal_body { color:#CF3648; width:180px; <-需要宽度是230,padding设定为25px,所以减去左右共50px height:160px; margin:0; padding:25px; float:left; } |
这张是我计划做的效果,也是非IE浏览器显示的效果
这张是IE的效果
以上情况的原因是,IE不能解释 230-50=180 这一步,所以这DIV就少了50象素 -_______-|||
正确的写法如下,利用!important来统一IE和其它浏览器的效果:
| #cal_body { |
!important是css1的语法,作用是提高指定样式规则的应用优先权,语法格式{ sRule!important },写在定义的最后面.
当其它浏览器对这段代码进行解释的时候,因为width=180有较高的优先级,所以大家领了这个数值心安理得的做其它事情去了,对紧接着重复定义的width不加理会;
但IE不一样,因为后面加了!important,IE根本不知道这是啥玩意儿...so...忽略!嗯,接下来解释width=230,刚好..也很开心的玩别的去了..所以说傻人傻福嘛,IE还真是无忧无虑啊,看不懂当你没写 -_-||
不过也多亏如此,用IE不认识!important的弱点解决了IE不会算padding的弱点,何乐而不为呢..
以上