`
cloudstars
  • 浏览: 39051 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于IE6浮动产生的3像素BUG

 
阅读更多

关于IE6的浮动产生的3像素BUG

 

  以前写前端代码时,IE下总是会出现各种莫名其妙的问题,如一行两列布局在其他浏览器下正常,但是在IE下确发现两列出现了上下错位。今天将IE下的3像素问题做个总结,后续遇到问题再更新。

  1、bug描述

  IE下两个相邻的div之间会出现3个像素的bug,这个bug是在当对其中一个div使用了float,而另外一个没有使用时会出现。

left
right

  

<div style="margin: 0 auto; background-color: #ccc;">
    <div style="width: 200px; height: 100px; float: left; background-color: #95f49e;">left</div>
    <div style="background-color: #fff; height: 100px; border: 1px solid #ccc;">right</div>
</div>

  上面的代码在IE6低下运行时,会发现right前面出现3px的空格。

  解决方法:a.对另一个元素同时使用float; b.为已经浮动的div添加一条语句:margin-right:-3px; ;

  当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现,它会偏移3像素。只要触发IE的hasLayout,非浮动元素就会拥有布局。所以,利用IE6特有的hack规则,为它单独写样式就可修复此问题:_zoom:1;margin-left:0;_margin-left:-3px;zoom 是IE触发Layout条件之一,因为它是IE特有的CSS规则,所以采用zoom。margin-left:-3px 是修复IE6 中3px 的bug。此前采用非浮动元素也浮动的方法修复bug,现在可以试试这个新的方法了!注:前面的下划线是专门写给IE7以下版本的hack!

分享到:
评论

相关推荐

    解决IE6 3像素Bug的css写法

    当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现,它会偏移3像素。

    css常见的bug(ie)

    7. **3像素Bug**: 当两个浮动的DIV相邻时,IE可能会在它们之间显示3像素的间隙。解决方法包括使相邻元素也浮动,或者为已浮动的元素添加负margin。 8. **宽度和高度的问题**: IE不支持`min-`前缀,但它实际上把...

    DIV+CSS相对IE6、IE7和IE8的兼容问题

    浮动元素产生的双倍距离问题也是IE6的一个经典bug。例如,一个左浮动的div设置了`margin-left`,在IE6中会生成两倍的距离。通过设置`display:inline`可以消除这个现象,确保元素按照预期距离排列。 在理解和使用`...

    css兼容性(IE 和 firefox)技巧大全.doc

    6. **浮动文本的3像素bug**:当左侧元素浮动,右侧元素使用外边距进行对齐时,IE浏览器会出现3像素的间隙。为解决此问题,可以针对IE使用`*html`选择器,并给左边的元素设置负的右外边距。 7. **捉迷藏问题**:在...

    IE6 两个div有间隙的问题(IE 3px bug)

    总的来说,解决IE6的3像素bug需要对浏览器之间的差异有深入理解,以及灵活运用CSS技巧。虽然现代浏览器已经广泛支持更标准的CSS解析方式,但在维护旧项目或考虑兼容性时,这些古老的解决方案仍然是必不可少的知识点...

    css兼容性问题总结笔记

    7.IE6绝对定位元素的1像素间距bug 5 8. LI中内容超过长度后以省略号显示的方法 6 9. UL的padding与margin 6 10. IE6中min-height 最小高度不识别的解决办法 6 11. IE6中min-width 最小宽度不识别的解决办法 6 12. IE...

    让CSS兼容IE和Firefox的技巧集合

    6. **浮动元素间的间距问题**:在IE中,浮动元素可能导致文本与左边距有3像素的空隙。通过负margin可以修正: ```css *html #left{ margin-right: -3px; } ``` 7. **元素隐藏问题**:在某些复杂的布局中,IE...

    CSS DIV教程IE6,IE7ie8火狐兼容性

    在IE6中,存在一个著名的双倍边距bug,当一个元素左侧浮动且有左外边距时,其实际边距会是设置值的两倍。要修复这个bug,可以使用`*html`或`_margin` hack,或者使用`display: inline-block;`来替代浮动。 通过以上...

    05DIV-CSS学习

    《05DIV-CSS学习:三列布局与IE6的3像素bug解析》 在网页设计中,布局是至关重要的环节,而CSS作为样式控制语言,为网页布局提供了强大的工具。本文将重点探讨三列布局的实现方式以及如何处理IE6浏览器中的一个经典...

    IE6 float:left margin-left出现两倍像素

    在IE6下(标准模式/怪异模式) 一个元素向左浮动(float:left),且添加了向左空白边(margin-left:10px),那么会自动的加一倍变成30px。 例: 复制代码代码如下: &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;...

    IE6与CSS样式兼容问题汇总

    最后,**3像素间距bug**是指文本后面跟着浮动元素时,IE6会产生3像素的间隔。可以通过为浮动元素添加`display:inline;`和负`margin-right:-3px`,以及为内容元素添加正`margin-right`来修正。 综上所述,解决IE6的...

    浏览器兼容性问题1

    5. **浮动bug**:包括3px像素空隙、浮动元素的宽度计算、浮动元素折行以及双边距bug等,这些都是IE6和IE7中的常见问题,需要特别处理。 6. **定位问题**:在IE6中,绝对定位元素的位置可能出现1px的偏差,同时浮动...

    自己整理div+css网页标准版式布局(50种布局方式)

    大四了,把之前学的些东西整理整理分享给大家,适合老师网页设计教材及初学者,里面包含了以下内容: 1、固定宽度CSS版式布局 2、自适应(弹性)宽度CSS版式布局 ... IE6双倍边距bug 4、盒模型层次平面示意图和3D示意图

    图片下面出现空白像素BUG的常用解决方法归纳

    在网页设计中,尤其是在使用CSS进行布局时,图片下面出现空白像素的bug是一个常见的问题,特别是在IE6浏览器中,但有时Firefox也可能出现类似情况。这个问题主要表现为图片元素(img)下方出现额外的空白空间,影响了...

    CSS 30分钟速成教程

    IE6 3 个像素的问题是指在 IE6 浏览器中,浮动元素的 margin 会被多计算 3 个像素,导致浮动元素超出父元素的范围。 空白边(margin)叠加 空白边叠加是指多个元素的 margin 会叠加,导致元素的实际 margin 大于设置...

    css浏览器兼容问题大全

    6. **浮动元素间的3像素间距问题**:在IE中,左浮动元素和右浮动元素之间可能存在3像素的间距。可通过`*html #left { margin-right: -3px; }`来修复。 7. **IE的“捉迷藏”问题**:当内容在浮动的`div`中时,某些...

    CSS制作网页时遇到BUG的解决方法

    二、浮动产生有缘故,若要父层包含住,紧跟浮动要清除,容器自然显其中; 三、三像素文本慢移不必慌,高度设置帮你忙; 四、兼容各个浏览须注意,默认设置行高可能是杀手; 五、独立清除浮动须铭记,行高设无,高设...

    目前比较全面的浏览器CSS BUG兼容汇总

    6. **浮动文本3像素bug**: 当左侧对象浮动,右侧对象通过外补丁定位时,IE会产生3像素的间距。可以通过为IE特定的CSS修复: ```css #left { float: left; width: 50%; } *html #left { margin-right: -3px;...

    绝对定位的元素在ie6下不显示隐藏了的有效解决方法

    本文主要探讨的是一个特定的问题:在IE6下,当一个绝对定位的元素紧邻着一个浮动元素,且浮动元素的宽度超过父容器宽度减去3像素时,绝对定位元素会在页面上消失。这个问题主要出现在IE6特有的渲染模式中,由于其对...

    css兼容性.pdf

    浮动元素间的距离问题,IE浏览器会使得相邻的浮动元素之间产生额外的3像素间距。通过在左边浮动元素上设置负的margin-right可以修正,例如:`*html #left { margin-right:-3px; }`。这里的星号(*)是IE6特有的hack,...

Global site tag (gtag.js) - Google Analytics