IE6 双倍水平外边距BUG以解决方案
来源:互联网 发布:淘宝网的商业模式 编辑:程序博客网 时间:2024/05/22 08:37
出现条件:
1、没有设置display:inline的块元素
2、浮动元素
3、设置了水平外边距(浮动的方向和水平外边距设置的方向一致)
4、元素与父容器之间
备注:因为浮动都有其相对应的对象,只有相对于其父容器的浮动才会出现这样的问题。第一个元素是相对父容器的,而第二个是相对第一个兄弟元素的,所以第二个浮动元素不会出现双倍水平外边距问题。而且只有设置水平外边距的值才会出现双倍外边距,垂直外边距没有关系。
解决办法:给浮动块框设置display:inline解决问题
下面是测试代码:
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>IE6 双倍水平外边距</title><style>*{margin:0;padding:0;}.testbox{background:#CCC;width:100px;height:100px;margin:10px 0 0 10px;float:left;display:inline;/*去掉display:inline在IE6下看看效果*/}</style></head><body><div class="testbox">IE6浮动双倍外边距</div><div class="testbox">IE6浮动双倍外边距</div></body></html>
原因分析:这个现象仅当块框设置了浮动才会出现,行内框浮动不会出现此问题。因为行内框默认display:inline,给其float后自动就具有块框特性,所以如果是span之类的行内框,浮动后是不需要再单独设置display:inline就可以自动消除双倍水平外边距。
下面是测试代码:
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>IE6 双倍水平外边距</title><style>*{margin:0;padding:0;}.testbox{background:#CCC;width:100px;height:100px;float:left;margin:10px 0 0 10px;}</style></head><body><span class="testbox">IE6浮动双倍外边距</span><span class="testbox">IE6浮动双倍外边距</span></body></html>
总结一下:
如果默认的是块元素例如div之类的,在设置 float 后同时要置display:inline来解决IE6的双倍水平外边距;
如果默认是内联元素例如span之类的,那么浮动后是没有关系的,因其自身居右display:inline,所以不需要再重复添加该属性。
- IE6 双倍水平外边距BUG以解决方案
- IE6 双倍水平外边距BUG以解决方案
- ie6下的双倍外边距问题
- ie6横向双倍外边距问题
- IE6双倍边距BUG
- IE6双倍边距bug
- ie6 下双倍 margin bug 及解决方案
- IE6外边距叠加BUG
- IE6的双倍边距bug
- 解决IE6双倍边距bug
- IE6 margin 双倍边距解决方案
- IE6 margin 双倍边距解决方案
- IE6 margin 双倍边距解决方案
- 【IE6 Bug】margin双倍边距Bug的处理办法
- IE双倍边距BUG 触发 解决方案
- IE6下margin双倍边距Bug处理办法
- IE6下margin双倍边距Bug的处理办法
- IE6下margin双倍边距Bug的处理办法
- 返回非整数的函数(输入一串数字,改变其形式以计数)
- JAVA 静态导入
- 好好工作,是一种态度
- 列出指定目录中的所有文件名
- 使用eclipse远程调试加密卡方法
- IE6 双倍水平外边距BUG以解决方案
- 配置Vim编辑器显示行号
- getRequestDispatcher()与sendRedirect()的区别
- sql 2008远程链接
- linux下安装Qt/E
- 用java遍历所有当前运行环境
- 配置Vim编辑器设置Tab键的格数(长度)
- Android应用程序入门 推箱子游戏开发(一) surfaceView 实现动画效果
- 一笺梦