`

ie6常见css bug

    博客分类:
  • Css
 
阅读更多

相信每个前端人都会有同感——ie6这东西真是万恶啊!就连ms也大力鼓励消费者淘汰ie6,不过很不幸,大概是因为xp绑定了ie6,因此在国内ie6的市场占有率仍高达42.43%,这是今年2月份的数据。也正因ie6的高占有率,因此在网站开发时也不得不考虑兼容ie6,就算不做到完美兼容,来个基本兼容也是必须的,起码不要让你的网站在ie6中乱套了。今天就跟大家分享一些平时积累的ie6 bug解决方法。

 

IE6双倍边距bug

当页面内有多个连续浮动时,如本页的图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况。如外边距设置为10px, 而左侧则呈现出20px,解决它的方法是在浮动元素上加上display:inline;的样式,这样就可避免双倍边距bug。

 

3像素问题及解决办法

当使用float浮动容器后,在IE6下会产生3px的空隙,有意思的是右侧容器没设置高度时3px在右侧容器内部,当设定高度后又跑到容器的左侧了。解决方法有几种,对于网上非常流行的给右侧div增加margin-right: -3px我不是很赞同,大大增加了布局的复杂度并且如果父div有设置浮动的话就会失效,简单高效的解决办法是在父div里设置overflow:hidden。

 

当子元素浮动且未知高度时,怎么使父容器适应子元素的高度?

这种情况可在父窗口加上 overflow:auto;zoom:1;这两个样式属性,overflow:auto;是让父容器来自适应内部容器的高度,zoom:1;是为了兼容 IE6而使用的CSS HACK。zoom:1;通不过W3C的验证,这也是遗憾的一点,幸好IE支持<!--[if IE]>这种写法,可以专门针对IE来写单独的样式,所以可以把这个属性写在页面内的<!--[if IE]>中,这样应该可以通过验证了。

 

超链接访问过后hover样式就不出现的问题

被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A
a:link {color: #1f3a87; text-decoration:none;}
a:visited {color: #83006f;text-decoration:none;}
a:hover {color: #bc2931; text-decoration:underline;}
a:active {color: #bc2931;}

 

IE6下这两个层中间怎么有间隙
这个IE的3PX BUG也是经常出现的,解决的办法是给.right也同样浮动 float:left 或者相对IE6定义.left margin-right:-3px;

 

IE6文字溢出BUG
说明:注释造成文字溢出是IE的BUG。

 

一个空格引发CSS失效
这 段代码对<p>的首字符样式定义在IE6上看是没有效果的(IE7没测试),而在p:first-letter和{font- size:300%}加上空格,也就是p:first-letter {font-size:300%}后,显示就正常了。但是同样的代码,在FireFox下看是正常的。按道理说,p:first- letter{font-size:300%}的写法是没错的。那么问题出在哪里呢?答案是伪类中的连字符"-"。IE有个BUG,在处理伪类时,如果伪 类的名称中带有连字符"-",伪类名称后面就得跟一个空格,不然样式的定义就无效。而在FF中,加不加空格都可以正常处理。

 

IE6中奇数宽高的BUG
IE6还有奇数宽高的bug,解决方案就是将外部相对定位的div宽度改成偶数。

 

IE6下为什么图片下方有空隙产生
解决这个BUG的方法也有很多,可以是改变html的排版,或者定义img 为display:block
或者定义vertical-align属性值为vertical-align:top | bottom |middle |text-bottom
还可以设置父容器的字体大小为零,font-size:0

 

ie6下空标签高度问题
一个空div如果高度设置为0到19px,IE6下高度默认始终19PX。
例如:
.c{background-color:#f00;height:0px;/*给定任何小于20px的高度 */}
<div></div>

如果不让它默认为19PX。而是0PX的话
解决方法有3种:
1.css里面加上overflow:hidden;
2.div里面加上注释,
<div><!– –></div>
3.css里面加上line-height:0;然后div里面加上#nbsp;,
<div>&nbsp;</div>(#换成&)

 

修正重复文字bug

复杂的布局可以触发在浮动元素的最后一些字符可能出现在出现在清除元素下面的bug。这里有几个解决方法,有些是完美的,但是做一些反复试验也是必须的:

  • 确保所有的元素使用”display:inline;”
  • 在最后一个元素上使用一个”margin-right:-3px;”
  • # 为浮动元素的最后一个条目使用一个条件注释,比如:
    <!–[if !IE]>Put your commentary in here…<![endif]–>
  • 在容器的最后元素使用一个空的div(它也有必要设置宽度为90%或类似宽度。)
分享到:
评论

相关推荐

    常见 CSS BUG 的处理

    ### 常见 CSS BUG 的处理 在前端开发过程中,我们经常会遇到各种各样的 CSS 问题,这些问题有时候会给项目的进度带来不小的麻烦。本文将重点介绍几种常见的 CSS BUG 以及它们的处理方法,帮助开发者们更好地定位和...

    最常见的9种IE_css_bug及fix

    ### 最常见的9种IE_css_bug及fix:深入解析与解决方案 #### 1. 居中布局问题 在Web开发中,将元素居中是极为常见的需求。通过设置`margin: auto;`通常能够轻松实现这一目标,但在IE6中,这种方法却会遇到问题。...

    常见css BUG

    ### 常见CSS Bug详解 #### CSS兼容性问题概览 在开发网站时,确保网页能在各种浏览器中正常显示是非常重要的。不同的浏览器对CSS的支持程度各不相同,特别是早期的Internet Explorer(IE)版本与现代浏览器如Fire...

    css常见的bug(ie)

    以下是一些针对IE浏览器的CSS常见bug及解决策略: 1. **浮动元素的双倍margin问题**: 在IE6中,如果一个浮动元素设置了margin属性,可能会导致实际的外边距比预期的要宽一倍。为了解决这个问题,可以将浮动元素的...

    Web-前端html+css从入门到精通 168. IE低版本常见BUG.zip

    IE低版本常见BUG.zip"专门针对这一主题,提供了关于如何解决IE低版本(如IE6、IE7、IE8)中的常见BUG的教学内容。 首先,我们需要理解的是,IE低版本对HTML5新特性的支持非常有限,因此在编写HTML时,需要谨慎使用...

    ie6BUG解决方案

    本文将深入探讨针对IE6的一个常见问题——透明效果的实现及其相关的修复策略。 首先,让我们理解什么是透明效果。在现代Web设计中,透明或半透明效果是创建美观、交互式用户界面的重要组成部分。它们可以通过CSS的`...

    9个最常见IE的Bug及其fix

    描述:“9个最常见的IE6 Bug,快解决头疼的IE6吧” 在本文中,我们将深入探讨IE6中最为常见的九个Bug,并提供相应的解决方案,帮助Web开发者们解决这个曾经令人头疼的问题。 ### 1. 居中布局问题 在CSS布局中,将...

    CSS常见Bug及其修正方法

    ### CSS常见Bug及其修正方法 #### 一、引言 在网页设计中,CSS(层叠样式表)作为控制HTML元素样式的强大工具,在实际应用过程中可能会遇到各种兼容性和布局问题。本文旨在介绍一些常见的CSS Bug及其解决方案,...

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

    标题和描述均提到了“DIV+CSS相对IE6、IE7和IE8的兼容问题”,这揭示了在Web开发中,尤其是针对老旧浏览器如IE6、IE7和IE8进行CSS布局时,开发者可能遇到的一系列挑战。这些浏览器在解析CSS规则时存在独特的行为,...

    IE 常见bug 及其fix

    了解并掌握这些IE常见bug的修复方法,将有助于提升你在开发兼容性网站时的效率和质量。虽然现代浏览器已经大大减少了这些问题,但仍有部分用户在使用旧版IE,因此了解这些问题的解决方案仍然是必要的。

    ie6bug问题解决

    下面,我们将深入探讨IE6中的常见问题以及解决策略。 1. **PNG透明度问题**:IE6不支持PNG8和PNG24格式的阿尔法透明度,导致半透明图片显示不正常。解决方案可以使用CSS滤镜,如`filter: progid:DXImageTransform....

    ie6兼容bug总结

    在编写 CSS 时,结合这些 Hack 和过滤器,可以有效地管理 IE6 及其他浏览器的兼容性问题,确保页面在各种环境下都能正常显示。然而,随着现代浏览器的普及,对于新项目,开发者更倾向于使用更先进的 CSS 解决方案,...

    CSS HACK 兼容列表 Firefox,IE5,IE5.5,IE6,IE7,IE8.rar

    这份名为“CSS HACK 兼容列表 Firefox,IE5,IE5.5,IE6,IE7,IE8.rar”的压缩包,提供了针对这些浏览器的CSS Hack解决方案,以确保在不同环境下页面的正常显示。 CSS Hack通常指的是利用浏览器解析CSS的bug或者特性,...

    CSS兼容IE6,,IE7,I8 FIREFOX

    - 通过添加负的外边距,可以解决IE6中常见的3px偏移问题。 #### 五、总结 通过对CSS Hack的理解和应用,我们可以有效地解决不同浏览器之间的兼容性问题。然而,随着现代浏览器的普及和发展,许多老旧的浏览器已经...

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

    以下是一些常见的CSS兼容性BUG及其解决方案: 1. **垂直居中问题**: 在IE6、7和Firefox中,实现元素的垂直居中可以采用`vertical-align: middle;`配合`line-height`的方法。将`line-height`设置为与元素相同的...

    ie6中页面的bug

    以下是一些常见的IE6 bug及其解决方案: 1. **DOCTYPE声明**:在HTML文档开头添加DOCTYPE声明至关重要,因为它会影响浏览器的渲染模式。在IE6中,不正确的DOCTYPE会导致浏览器进入“怪癖模式”,这将使得页面布局...

    iebug总结jar包

    11. **PPT资源分析**:"ie6的bug.ppt"可能是包含IE6常见问题和解决策略的演示文稿,内容可能包括实际的代码示例、视觉效果展示以及调试技巧。 12. **其他辅助工具**:"ie6Bug"可能是另一个辅助工具或者文档,用于更...

    div+css常见兼容性问题

    此外,IE6还有一个著名的“双倍边距BUG”,当一个浮动元素设置`margin-left`时,IE6会计算两次,解决办法是: ```css div { float: left; margin-left: 10px !important; /* 解决IE6双倍边距 */ margin-left: 10...

Global site tag (gtag.js) - Google Analytics