IE6下margin双倍边距Bug处理办法

开发 前端
这里向大家描述一下IE6下margin双倍边距Bug的处理办法,为了便于大家理解通过图里向大家讲解,希望本文介绍对你的学习有所帮助。

你对于margin双倍边距Bug问题是否熟悉,这里和大家分享一下IE6下margin双倍边距Bug的处理办法,相信本文介绍一定会让你有所收获。

IE6下margin双倍边距Bug的处理办法

一、什么是双边距Bug?

先来看图:

我们要让绿色盒模型在蓝色盒模型之内向左浮动,并且距蓝色盒模型左侧100像素。这个例子很常见,比如在网页布局中,侧边栏靠左侧内容栏浮动,并且要留出内容栏的宽度。要实现这样的效果,我们给绿色盒模型应用以下CSS属性:

以下为引用的内容: 

  1. .floatbox{  
  2. float:left;  
  3. width:150px;  
  4. height:150px;  
  5. margin:5px05px100px;  
  6. /*外边距的***一个值保证了100像素的距离*/  
  7. }  
  8.  

很简单,但是当我们在IE6中查看时,会发现左侧外边距100像素,被扩大到200个像素。如下图:

二、怎么会这样?

说实话,这个原因还真是不清楚。但是这样的结果确确实实在IE6中出现了。而且这种情况出现的条件是当浮动元素的浮动方向和浮动边界的方向一致时才会出现。如同上面的例子一样,元素向左浮动并且设置了左侧的外边距出现了这样的双边距bug。同理,元素向右浮动并且设置右边距也会出现同样的情况。同一行如果有多个浮动元素,***个浮动元素会出现这个双边距bug,其它的浮动元素则不会。

三、如何修正这个Bug?

很简单,只需要给浮动元素加上display:inline;这样的CSS属性就可以了。就这么简单?对,就这么简单。如下图:

CSS代码如下:

以下为引用的内容:
 

  1. .floatbox{  
  2. float:left;  
  3. width:150px;  
  4. height:150px;  
  5. margin:5px05px100px;  
  6. display:inline;  
  7. }  

【编辑推荐】

  1. Firefox下margin-top失效解决技巧
  2. CSS中margin边界叠加问题及解决方案
  3. CSS样式表高效使用八大秘诀
  4. 创建和插入CSS样式表秘笈
  5. 实现CSS垂直居中的五大方法及优缺点

 

责任编辑:佚名 来源: hi.baidu.com
相关推荐

2010-08-25 11:23:31

IE6margin

2010-08-25 11:36:19

IE6margin

2010-08-19 10:01:19

IE6margin

2010-08-19 10:40:36

position:fiIE6

2010-08-27 13:31:58

IE6IE7Firefox

2010-08-18 09:55:38

IE6

2009-08-13 10:12:07

IE的CSS Bug

2010-09-08 09:11:32

CSSmargin

2010-08-25 10:10:30

CSSmargin

2010-08-18 16:10:35

IE6CSS

2010-08-19 10:13:25

marginFFIE6

2013-10-31 11:12:56

IECSS

2009-08-14 09:20:40

抵制IE6

2010-08-26 12:59:29

marginCSS

2010-02-01 08:41:23

GoogleIE6

2010-08-19 14:43:49

IE6IE7IE8

2010-08-18 09:11:11

IE6

2010-08-18 14:02:05

IE6HTML标准

2010-08-18 09:30:32

IE6兼容

2009-12-01 09:25:09

微软IE6用户升级
点赞
收藏

51CTO技术栈公众号