你或许知道IE在使用 CSS 属性 overflow 时,有一些bug,请允许我在里重述一下。
我们要建立一个测试用HTML文件,以下是关键的代码片断
<div>
<pre><code>
<a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="license">遵守我的版权</a>
<a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="license">遵守我的版权</a>
<a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="license">遵守我的版权</a>
<a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="license">遵守我的版权</a>
<a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" rel="license">遵守我的版权</a>
</code></pre>
</div>
在以上代码中我将应用以下CSS
div{
width: 60%;
}
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
}
以上代码在Firefox中的显示是可以预料的。
但是在IE6中,没有任何 overflow 效果能够显示出来
图1 IE6下的效果
而在IE7中的显示也有些不同,多了一个惹人讨厌的右侧滚动条
图2 IE7下的效果
IE6的bug可以通过给containing block添加width的方法解决,即
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
}
此时,IE6的滚动条出来了,但是它与IE7表现的一样,多了一个右侧滚动条。
多一个右侧滚动条的原因在于:IE总是将底部滚动条添加在元素的总高度的内部,这样使得元素的一部分高度被底部滚动条占据,不能完全显示,所以IE就自动添加了右侧滚动条使得元素被挡住的内容也能够滚动后看到 。
最后为了去除IE右侧的滚动条,我们给containing block添加以下CSS
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
overflow-y : hidden ;
}
这样我们就在IE中创造出了和Firefox、Opera和Safari同样的 overflow : auto 效果。
在实际应用中,这一效果可以应用于所有固定格式的元素(通常为 pre 元素),最常见的是代码块。
原文:http://www.lunaticsun.com/article/ie-overflowbug
- 大小: 4.5 KB
- 大小: 6.8 KB
分享到:
相关推荐
本文主要探讨了几个常见的CSS在IE浏览器中的BUG及其解决方案。 1. **错误的扩展与min-height** - 在IE6中,设定`height`或`width`为固定值时,如果内容超出这个值,div会自动扩展,而在其他标准浏览器中,div的...
解决方法是使用伪元素或`clear`属性来清除浮动,以及使用`overflow:auto;`使父元素自适应子元素的高度。 例如: ```html ... ... ... ``` ```css .clear { clear: both; } .float { float: left; } `...
描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者有效地解决IE浏览器特有的CSS解析错误。 在Web开发中,CSS兼容性问题常常源于不同浏览器对CSS标准的实现不一致。以下是一些针对IE和Firefox的CSS兼容性...
本文将详细介绍如何在使用Div+CSS布局时实现对Internet Explorer 7(IE7)与Internet Explorer 8(IE8)的兼容性支持。随着Web标准的发展与浏览器技术的进步,IE7和IE8已逐渐被淘汰,但在某些特定场景下,仍然需要...
`height`属性在不同浏览器中的表现不一致,例如,IE6不完全支持标准的`height`,需要添加`_height`或`*height`来修正。对于IE7,可以使用`*+height`。而在所有浏览器通用的情况下,可以使用`!important`来强制应用...
标题“解决ie6下3像素bug问题”指的是在IE6浏览器版本下,两个浮动元素之间出现的不期望的3像素间隙问题。这个问题是一个常见的前端bug,主要是在IE6浏览器中由于其解析CSS的特殊性导致的,而这种问题在其他浏览器中...
在网页设计中,CSS(层叠样式表)的浏览器兼容性问题一直是开发者面临的挑战,特别是针对Internet Explorer(IE)和Firefox这两个主流浏览器。本文将详细阐述一些针对IE和Firefox的CSS兼容性处理技巧。 首先,要...
在网页开发中,CSS(层叠样式表)的兼容性问题常常困扰着开发者,尤其是在处理不同...在实际开发中,开发者应始终关注浏览器的兼容性测试,并尽可能使用跨浏览器的CSS解决方案,确保网站在各种环境下都能正常运行。
例如,一个典型的"上左右下"带侧边栏的布局,如果遇到`overflow:visible`的bug,可能会在切换到IE7或Firefox时出现头部高度变小、侧边栏宽度异常以及内容被其他元素覆盖的现象。这些变化对用户体验造成负面影响,...
其次,**IE6不支持CSS3的圆角属性**。为实现圆角效果,开发者可以选择使用图片切片,创建四个角的圆形图片并将其作为背景拼接,或者使用渐进增强的策略,让IE6以下版本的浏览器显示矩形,而现代浏览器则展示带有圆角...
在IE下,为包含浮动元素的父级添加`zoom:1`和`overflow:hidden`可以触发其“布局”属性,从而修复高度计算错误。例如:`.parent { overflow:hidden; zoom:1; }`。 对于多栏布局,有时需要为所有栏设置统一背景色。...
- **解决方法**:可以使用`clear`属性或者设置父元素的`overflow`属性来清除浮动。例如: ```css .clearfix::after { content: ""; display: table; clear: both; } .clearfix { overflow: auto; } ``` ...
- **IE6的圆角**:由于IE6不支持CSS3的圆角,可以使用图片或JavaScript库实现圆角效果,或者牺牲在IE6下的圆角显示。 - **背景闪烁**:通过JavaScript设置IE6缓存背景图片,避免hover时闪烁。 - **最小高度问题**:...
在CSS(层叠样式表)设计网页的过程中,开发者常常会遇到各种各样的问题,即我们所说的BUG。这些问题可能涉及到布局、浮动、边框、高度、兼容性等方面。下面,我们将根据提供的内容,详细讲解如何解决这些常见的CSS...
v1.1(20090424) 修正ie显示问题 v1.5 抄袭extjs window 拖放ghost实现 v1.6(20090426) 增加底部按钮设置(静态,动态) v1.6.5(20090427) 修正resize 工具条上移,计算button高度,难点:resize后动态按纽...
此外,IE7中还有一些额外的属性可以用来激发hasLayout,比如min-height、max-height、min-width、max-width、overflow及其子属性overflow-x和overflow-y(这些是CSS3的属性,目前并未被所有浏览器支持),以及...
-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化...
-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化...