IE6常见兼容性问题

1.双边距

左右浮动的块元素在设定了对应方向的的margin值时,会产生双倍的边距。

解决方法:给元素添加 _display: inline;

2.双倍缩进

inline-block和text-indent样式同时使用时,会使缩进的尺寸加倍。

解决方法:不使用inline-block样式;给元素添加float样式;设置line-height,并添加overflow: hidden样式

3.float换行

不浮动的元素和浮动的元素并列在一起,浮动的元素会出现换行的现象。

解决方法:给不浮动的元素添加浮动的样式(前提是外层的容器有足够的宽度)

4.绝对定位的元素bottom错位

设置height的relative元素,如果内部包含absolute元素并且用bottom定位的话,会出现错位。

解决方法:为relative元素添加 zoom:1 样式或设定高度数值

 

5.overflow:hidden失效

子元素会超出父元素设定的高度,即使父元素设置了overflow:hidden

解决方法:在父元素中使用position:relative;

6.无法定义1px高度的容器

解决方法: 添加overflow: hidden 样式

7.100%高度不起作用

一个元素即使设置了height: 100%也无法继承父级元素的高度。

解决方法:定义父级元素的高度;

8.select遮挡div的bug

解决方法:

使用iframe包住select,设置div的z-index比iframe的z-index大;

在div中建立一个跟div同宽同高的绝对定位的iframe,并且z-index比div要小。

9.z-index的bug

在IE6中,定位元素的z-index层级是取决于各自的父级容器的z-index,所以会导致不同级别的元素高z轴地元素无法遮挡低z轴的元素。

解决方法:

给父级元素定义z-index(如果不同级别的元素进行层级遮挡,需要给它们的相同级别的祖先元素设置z-index)

10.文本重复bug

在IE6中,一些隐藏的元素(注释、display:none;的元素)被包含在一个浮动元素里,就有可能引发最后一个元素文本重复的bug。

解决办法:给浮动元素添加display:inline;删除注释;添加清浮动的元素clearfix

 

11.不支持position: fixed

ie6下给元素的position设置为fixed会不起作用,无法固定一个元素

解决方法:

添加以下样式

*html{
    _background-image:url(about:blank);
    _background-attachment:fixed
}
.fixed{
    position:absolute;
    left:50px;
    top:100px;
    _left:expression(eval(document.documentElement.scrollLeft+50));
    _top:expression(eval(document.documentElement.scrollTop+100));
}

12.不支持min-、max-属性

解决方法:使用css表达式

div{
    /* min-width */
    _width:expression((documentElement.clientWidth < 600) ? "1008px" : "auto" );
    /* max-width */
    _width:expression((documentElement.clientWidth >600) ? "600px" : "auto" );
}
时间: 2024-08-14 00:10:41

IE6常见兼容性问题的相关文章

IE6兼容性问题IE6常见bug

IE6兼容性问题及IE6常见bug详细汇总 来源:互联网 作者:佚名 时间:03-31 16:03:45 [大 中 小] IE6的兼容性问题一直都是前端工程师的恶梦,为了早早脱离这种困境,本文整理了一些相关兼容性的知识,感兴趣的朋友可以参考下哈,希望可以帮助到你 1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法

IE6兼容性问题及IE6常见bug详细汇总(转)

IE6的兼容性问题一直都是前端工程师的恶梦,为了早早脱离这种困境,本文整理了一些相关兼容性的知识,感兴趣的朋友可以参考下哈,希望可以帮助到你. 1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法:display:inline 3.以下三种其实是同一种bug,其实也不算是个bug,举个例子:父标签高度20,子标签1

html常见兼容性问题

html常见兼容性问题? 1.双边距BUG float引起的  使用display 2.3像素问题 使用float引起的 使用dislpay:inline -3px 3.超链接hover 点击后失效  使用正确的书写顺序 link visited hover active 4.IE z-index问题 给父级添加position:relative 5.Png 透明 使用js代码 改 6.Min-height 最小高度 !Important 解决' 7.select 在ie6下遮盖 使用ifram

IE下常见兼容性问题总结

概述 本小菜平时主要写后台程序,偶尔也会去写点前端页面,写html.css.js的时候,会同时开着ie6.ie7.ie8.ie9.chrome.firefox等浏览器进行页面测试,和大部分前端开发一样,经常被ie折磨,下面就总结一些常见的浏览器兼容性问题,放一起方便自己总结学习,我知道这类型文章,很多大牛都总结过,且写的特别专业.不过我写的都是自己最近碰到的,本人技术一般,也希望各位多加指点. 一.IE6/IE7对display:inline-block的支持欠缺 1)表现描述 这个应该算是很经

IE6常见bug

1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法:display:inline 3.以下三种其实是同一种bug,其实也不算是个bug,举个例子:父标签高度20,子标签11,垂直居中,20-11=9,9要分给文字的上面与下面,怎么分?IE6就会与其它的不同,所以,尽量避免. 1)字体大小为奇数之边框高度少1px

ie6浏览器兼容性

1.ie6双倍边距bug 块状元素设置float(左浮动或有浮动),并且设置margin值之后,第一个浮动的元素其左侧margin值为正常的2倍,如图,可以看到第一个元素的左侧边距于其他元素两两之间的边距一致,也就是其左边距为正常边距的两倍 解决方法:给元素设置display:inline即让元素不为块状元素,如图第一个元素左侧的边距显示正常 2.ie6浏览器3像素bug 设置蓝色块状元素左浮动,红色元素不浮动,两个块元素之间会出现3像素的间隙,如图 解决方法:第二个元素也设置左浮动,如图,间隙

IE6常见Bug(自己总结)

导航一般可以用UL来做======================================================CS3圆角不兼容IE8和以下的浏览器.只能用背景图来写兼容.=========================================================hack 写骇客的时候要注意顺序.正常文档流的阅读是前到后的IE6: _background:green IE7(IE6): *background:red; IE8:background: \9

IE6常见CSS解析Bug及hack

IE6常见CSS解析Bug及hack ###### 1)图片间隙 描述:在div,dl,li中插入图片时,图片会将盒子下方撑大3px~5px(设置高度后依旧被撑大) ??? hack1:将</div>与<img/>写在一行上(针对div): ??? hack2:将<img/>转为块状元素,添加声明:display:block;(都有效) ??? hack3:给父元素添加:font-size:0,需要给子元素单独添加font-size;(都有效) ??? hack4:给父

ie6的常见兼容性问题

(一):选择器的兼容问题 1.对于一般的选择器如id选择器.类选择器.标签选择器,IE6和其他浏览器一样都兼容: 2.子代选择器(E>F),序选择器(E:first-child.E:last-child).兄弟选择器(E+p)这些选择器IE6都不兼容{主要是css2中的选择器,css3中的先不谈} (二):双倍margin问题 1.何为双倍的margin? 解释:就是说当我们连续浮动元素时,如果浮动元素的浮动方向和我们设置的margin方向相同时,浮动元素的第一个元素就会具有双倍的margin值