IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

IE双倍浮动边界Bug

小小子,simaopig 2010-05-27 13:26:08 累计浏览 2,946 次
本机暂存

看《CSS实战精粹》已经看到hack了,之所以最近没有把文章抄上来,一是懒,二就是比较困惑。

对CSS我属于白痴一样,所以看书中介绍的例子,解决了某某样式BUG,对此我一头雾水,所以我决定将书中提到的一些Bug给弄出来看一下到底是如何让人头疼的一个问题。

第一篇,大家一起来看一下“IE双倍浮动边界Bug”,高手请飘过~~

Bug 描述

The IE5/6 Doubled Float-Margin Bug

中文翻译版,无图

大家通过上面提供的链接很方便知道现象的描述。不过在英文原版里Bug的图示并不说明问题(图中并未显示出IE6margin双边距)。

那么让我们自己动手来看一下吧。

以下是代码片段:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>IE Double Margin Bug</title>
        <style>
            #wrapper{
                width:400px;
                height:160px;
                border:1px solid red;
                background:blue;
            }
            
            #bugdiv{
                width:150px;
                float:left;
                margin:5px 0 5px 100px;
                height:150px;
                background:green;
            }
        </style>
    </head>
    <body>
        <div id="wrapper">
            <div id="bugdiv">
                I’m in bugdiv
            </div>
        </div>
    </body>
</html>
 

大家请用IE6打开

IE6下面的效果如图:

ie6_double_margin_bug

效果图大家已经看到了,200px,很神奇。解决方法很简单,在有浮动的元素上加上display:inline;搞定

以下是代码片段:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>IE Double Margin Bug</title>
        <style>
            #wrapper{
                width:400px;
                height:160px;
                border:1px solid red;
                background:blue;
            }
            
            #bugdiv{
                width:150px;
                float:left;
                margin:5px 0 5px 100px;
                height:150px;
                background:green;
                display:inline;
            }
        </style>
    </head>
    <body>
        <div id="wrapper">
            <div id="bugdiv">
                I’m in bugdiv
            </div>
        </div>
    </body>
</html>
ie6_double_margin_fixed

ie6_double_margin_fixed

 

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. 50个活力和动感的网页设计-颜色的灵感 (累计阅读 34,442)
  2. 视觉设计前瞻实用性研究(PNVD) 第二期 (累计阅读 12,977)
  3. 各公司对前端开发的职位描述 (累计阅读 10,405)
  4. iframe大小自适应 (累计阅读 10,057)
  5. 浏览器的渲染原理简介 (累计阅读 8,377)
  6. 解决IE6从Nginx服务器下载图片不Cache的Bug (累计阅读 8,357)
  7. iframe里src="about:blank"的问题。 (累计阅读 8,089)
  8. 程序员眼里IE浏览器是什么样的 (累计阅读 8,011)
  9. 2010网页设计趋势 (累计阅读 7,818)
  10. Web前端工程师编程能力飞升之路 (累计阅读 7,691)