本文章简单的介绍一下关于padding兼容ie6,ie8,firefox的做法,因为不同浏览器对padding理解不一样,所以在浏览时会有点差别 。
padding 简写属性在一个声明中设置所有内边距属性 。
说明
这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度 。行内非替换元素上设置的内边距不会影响行高计算;因此,如果一个元素既有内边距又有背景,从视觉上看可能会延伸到其他行,有可能还会与其他内容重叠 。元素的背景会延伸穿过内边距 。不允许指定负边距值 。
注释:不允许使用负值 。
例子 1
padding:10px 5px 15px 20px;上内边距是 10px
右内边距是 5px
下内边距是 15px
左内边距是 20px
例子 2
padding:10px 5px 15px;上内边距是 10px
右内边距和左内边距是 5px
下内边距是 15px
例子 3
padding:10px 5px;上内边距和下内边距是 10px
右内边距和左内边距是 5px
例子 4
padding:10px;所有 4 个内边距都是 10px
设现在设置一个padding值,这个值在FF、IE8、IE6中都不一样
首先考虑的是FF下的值
.test{padding:10px}
接着考虑IE8下的值
.test{padding:10px;*padding:9px}
最后考虑IE6下的值
.test{padding:10px;*padding:9px;_padding:8px}
这样就可以了 。
做兼容性时,最先考虑FF、opera这些浏览器,最后考虑IE6 。
拿上例来说,IE8、IE6都可识别*,但FF不能识别 。
所以拿*来做IE8的Hack,而_在FF和IE8中都不识别,只有IE6能识别,所以用_做IE6的Hack
推荐阅读
- 含IE兼容解决方法 纯CSS3实现圆角效果
- IE9的css hack使用示例
- 详解IE浏览器的haslayout属性及相关兼容性问题解决
- IE6,IE7,IE8 css bug搜集及浏览器兼容性问题解决方法汇总
- css IE8 兼容问题的汇总
- 让IE6支持css3,让 IE7、IE8 都支持CSS3
- IE7和IE8的兼容性问题
- IE7,6与Fireofx CSS对浏览器的兼容性性处理
- DIV+CSS相对IE6 IE7和IE8浏览器行为区别及兼容性问题整理
- IE和Firefox CSS多浏览器兼容性技巧大全推荐