日期:2014-05-17  浏览次数:20682 次

FF与IE下CSS Padding效果不同解决方案
本文向大家描述一下在Firefox与IE下CSS Padding效果不同的解决方法,首先看一下CSS padding属性的定义,CSS padding属性用来定义元素的内边距,它接受长度值或百分比值,但不允许使用负值。

在Firefox与IE下CSS Padding效果不同的解决方法

CSS padding属性

CSS padding属性定义元素的内边距。padding属性接受长度值或百分比值,但不允许使用负值。

例如,如果您希望所有h1元素的各边都有10像素的内边距,只需要这样:

h1{padding:10px;}您还可以按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值:

h1{padding:10px0.25em2ex20%;} 

问题:

<div style="padding-top:5px;width:200px;height:15px; 
background-color:#ffeeee">
test  
</div>

以上代码在IE中和Firefox会有不同的效果。最主要原因是Firefox解释padding-top与IE的效果不同

Firefox对DIV总高度是padding-top+height的,而IE中,padding-top是包含在height中的,要解决这一个矛盾,可以利用!important

padding-top:5px; 
height:10px !important; 
height:15px; 

以上定义了两个height, 其中一个后面加了!important , IE将会忽略这个属性,而使用后面的height:15px; 而Firefox却不会忽略这个属性, 直接使用height:10px,这样就可以很巧妙的解决这个问题。