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

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

最近在学前端, 转自沈夕博http://hi.baidu.com/skillshen/

一、什么是双边距Bug?

先来看图:

2011012520001920.png

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

 

以下为引用的内容:
.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
/*外边距的最后一个值保 证了100像素的距离*/
}

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

2011012520002984.png

二、怎么会这样?

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

三、如何修正这个Bug?

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

2011012520003993.png

 

CSS代码如下:

 

以下为引用的内容:
.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
display: inline;
}

转载于:https://www.cnblogs.com/ndxsdhy/archive/2011/01/25/1944872.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110666.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis集群搭建(非常详细,适合新手)_redis哨兵模式两主多从

    redis集群搭建(非常详细,适合新手)_redis哨兵模式两主多从前言由于项目需要,搭建了一个Redis服务器集群,实现了主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,下面就详细讲解一下如何利用Redis来实现。文章重点1、Redis入门简介2、Redis安装部署3、Redis集群整体架构4、Redis主从配置及数据同步5、Redis哨兵模式搭建一、Redis入门简介Redis(RemoteDictiona…

    2022年9月1日
    4
  • nextline函数_在JAVA中Scanner中的next()和nextLine()为什么不能一起使用?

    nextline函数_在JAVA中Scanner中的next()和nextLine()为什么不能一起使用?Java输入一直是一个坑,本来一直用Scanner,但一直搞不懂换行符啥的,就用BufferReader,但前不久大疆笔试需要持续输入,早忘了Scanner怎么写,而那个场景用Scanner很好实现……就继续在这里记录一下Scanner的坑吧一、next&nextLine区别next不能得到带有空格的字符串一定要读到有效字符后才可以结束,结束条件是碰到空格…

    2022年6月2日
    38
  • 最详细的APAP论文代码分析

    最详细的APAP论文代码分析最详细的APAP论文代码分析代码见:https://cs.adelaide.edu.au/~tjchin/apap/此次实验选用的代码是2013年的版本:由于文档中的代码块截图不一定清楚,需要的可以去上面的网址下载代码对照着看。一、代码1.1、加载文件在程序开始前调用close、clear等函数清除原先工作空间的操作,然后将此次实验所需的文件文件添加到环境中。1.2、编译Mex文件经过对代码块添加测试代码,证明了此处的代码块并未执行,在命令行仅仅输出了对文件的判断,而未输出if-end

    2022年9月16日
    2
  • MySQL基金会-基本数据库操作

    MySQL基金会-基本数据库操作

    2021年12月30日
    47
  • 什么是portal?

    什么是portal?Portal 是一个基于 web 的应用程序 它主要提供个性化 单点登录 不同来源的内容整合以及存放信息系统的表示层 nbsp portal 主要有 3 方面的功能 1 portlet 容器 类似于 servlet 所有的 portlet 都部署在 portlet 容器里 该容器控制 portlet 的生命周期并为其提供必要的资源和环境信息 portlet 容器负责初始化和销毁 portlets 并向 portlets 传送用户请

    2025年7月14日
    4
  • 六种麒麟都是什么麒麟_中标麒麟进入图形界面

    六种麒麟都是什么麒麟_中标麒麟进入图形界面OracleDatabase11.2.0.4.0已在Linuxx86-64NeoKylinLinuxAdvancedServer6上通过认证

    2022年8月10日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号