title: css的ie6兼容问题
date: 2017-06-13 13:45:13
tags: css笔记


png图片的兼容性

png的图片在ie6下默认不是透明的,所以需要处理一下。

  1. 使用DD_belatedPNG插件,需要在script中调用,DD_belatedPNG.fix("selector1,selector2"),缺点是不支持body元素。

  2. 第二种方法是使用ie6的滤镜属性,这个属性body也可以使用。_background-image:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="XX.png",sizingMethod="crop");,因为只需要ie6支持所以用了hack。

float在ie6的兼容问题

有如下结构

<style>
.box {width: 400px;border: 1px solid #000000;overflow: hidden;
}.left {float: left;background-color: red;
}.right {float: right;background-color: blue;
}h2 {height: 30px;
}
</style><div class="box"><div class="left"><h2>左边</h2></div><div class="right"><h2>右边</h2></div>
</div>

将.left和.right分别左右浮动并设置颜色、h2元素设置高度应该是如下效果。

image

但在ie6下会显示成这样,

image

ie6下在浮动的元素下的元素h2设置高度,会独占整行,因为h2是块级元素,但我希望的是浮动元素被内容撑开。这时只要设置样式h2{float:left}就可以解决这个问题。

另外假设父元素的宽度够长,如果子元素中第一个元素浮动并且宽度为200px,那么第二个元素即是设置了margin-left:200px;那么会有也间隙,所以既然要并排显示那么就都设置浮动,不要一个浮一个不浮。

ie6浏览器子元素超出宽度问题

在标准浏览器子元素比父元素宽高大时,会超出父元素,但不会改变父元素大小,但是在ie6下回直接撑大父元素,会导致整个布局乱掉,所以ie6下布局一定要注意子元素的尺寸问题。

块级元素嵌套规则

p标签、h标签、td标签是不能嵌套块级元素的,如果在ie6下嵌套了还会莫名多生成一个块级元素占用空间,布局也会乱掉。

margin的兼容性问题

margin-top的传递问题

在子元素中设置margin-top那么父元素也会掉下来。

  1. 给父元素设置边框。
  2. 给父元素设置overflow:hidden。(标准浏览器、ie7及以上浏览器)
  3. 给父元素设置zoom:1;(ie7及以下浏览器)
  4. 在ie7及以下浏览器设置父盒子的宽和高也可以解决。

上下margin的叠压问题

同级元素如果有上下margin的设置,那么上下两个元素会导致上面元素的下margin和下面元素的上margin重叠。

解决方法是不要设置margin,而是设置某一个方向的margin,比如margin-top、margin-bottom。

inline-block的兼容性问题

ie7及以下浏览器不识别display:inline-block属性。所以在ie7及以下浏览器要用行内块需要设置*display:inline;*zoom:1;。*号是只让ie7、ie6识别。

ie6的最小高度问题

在ie6浏览器下最小高度是19px;如果要设置小于19px的元素,那么首先要设置具体高度,然后要加*overflow:hidden属性。剪裁掉多出的部分。

ie6双边距的问题

当元素浮动后,再设置margin-left那么就会产生双倍边距。解决办法是给浮动元素设置*display:inline

ie6浏览器li的间隙

ie6浏览器下li元素内部的子元素如果浮动,li之间就会产生4px的间隙。解决方法是给li元素增加*vertical-align:top;属性。

ie6文字溢出的bug

ie6下两个浮动元素中间有注释或者内联元素,并且两个浮动元素宽度相加和父级宽度相差在6px以内,就会导致浮动元素内的文字溢出一个重复的,并且每多一个内联元素或者注释就会多出一个重复文字。

  1. 让两个浮动元素之间没有内联元素和注释。
  2. 如果只有一个浮动元素设置了宽度另一个没有宽,那么比父盒子的宽小3px即可。
  3. 如果两个浮动元素都设置了宽,那么两个元素加起来要比父盒子的宽小6px。

ie6相对定位于overflow:hidden的问题

ie6下当子元素比父元素大时,并且子元素设置了相对定位,那么父盒子即使使用overflow:hidden也无法剪裁子元素。

只有将父盒子也设置为相对定位才可以剪裁。

ie6绝对定位奇数问题

当父元素设置相对或者绝对定位并且宽高为奇数,那么在ie6中子元素设置绝对定位即使left/right和top/bottom设置为0,也会有1px的距离。

所以ie6下要使用定位父盒子必须是偶数。

ie6浮动元素和绝对定位的问题

父元素设置相对定位,如果子元素设置浮动撑满整个父元素的空间,那么此时再有一个同级子元素设置绝对定位则这个元素会消失。

  1. 造成这个原因的是同级的问题,那么再绝对定位元素外面套一层元素就可解决。
  2. 也可以让浮动的子元素宽加起来比父元素少6px,那么绝对定位的元素也可以显示出来。

ie6下input间隙问题

input作为子元素时,父盒子不设高度,那么input设置高度后撑开父盒子会造成上下分别1px的间隙,漏出父盒子。

解决方法是设置input左浮动

css的ie6兼容问题相关推荐

  1. div+css 布局下兼容IE6 IE7 FF常见问题

    div+css 布局下兼容IE6 IE7 FF常见问题 收藏 所有浏览器 通用 (市面上主要用到的IE6 IE7 FF) height: 100px; IE6 专用 _height: 100px; I ...

  2. DIV+CSS解决IE6,IE7,IE8,FF兼容问题

    1.ie8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...

  3. CSS hack浏览器兼容一览表

    CSS hack是指我们为了兼容各浏览器,而使用的特别的css定义技巧.这是国外摘来的一张CSS hack列表,显示了各浏览器对css hack的支持程度,对我们制作兼容网页非常有帮助. 屏蔽IE浏览 ...

  4. CSS对IE6、IE7、IE8支持详细的易用的参考

    來源:http://www.webjx.com/css/divcss-17091.html 中文原文:CSS在Internet Explorer 6, 7 和8中的差别 译自:CSS Differen ...

  5. CSS在IE6下的一些BUG和兼容性问题及解决办法

    兼容性一直是前端的一大问题,也是让前端工程师很头痛的事情,在浏览器中,各厂商都有一套属于自己的标准和方法,从某种程度上看,是否能很好的处理兼容性问题,体现着一个前端工程师的水平,下面看一下CSS在IE ...

  6. CSS截取字符串,兼容浏览器

    今天在经典论坛看到有同学问到CSS截取字符多余省略号代替的求助且要兼容FF... 这个的确是个比较头痛的问题,现在我在的公司都是程序截取显示省略符的.兼容是没问题,但在中文和数学或字母混排时,就会有点 ...

  7. [css] 怎么IE6下在使用margin:0 auto;无法使其居中?

    [css] 怎么IE6下在使用margin:0 auto;无法使其居中? 浏览器解析的问题,IE6下需要对居中的元素设置text-align:center属性使其margin:0 auto;生效. 个 ...

  8. win7下ie6兼容测试之Windows7(win7)下 XP Mode 下载、安装、设置完全图解

    win7下ie6兼容测试 之 Windows7(win7)下 XP Mode 下载.安装.设置完全图解 <一.简述Windows XP Mode,及硬件需求测试> Windows 7携带了 ...

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

    CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格 ...

最新文章

  1. python学习框架图-Python学习—框架篇之初识Django
  2. 皮尔·卡丹的管理思想精髓:从小做到大
  3. Docker Cgroups
  4. noip2016 换教室
  5. 新手学MVC----MVC3.0错误 HTTP 404
  6. word光标一直闪动_6个一分钟就能学会的Word实用小技巧,你会几个?【Word教程】...
  7. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_3_字节输出流_OutputStream类FileOutputStream...
  8. matlab晶闸管不能连接,基于MATLAB的晶闸管触发电路.doc
  9. Statement和PreparedStatement的区别
  10. 把图标变成圆形的html_css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局...
  11. windows的映射驱动器
  12. 关于marked数组处理
  13. 识别括号或花括号嵌套
  14. 泰勒级数、欧拉公式、三角函数
  15. 互联网创业公司黑话指南 | 嘿嘿嘿……
  16. border每个边框的阴影(box-shadow属性)
  17. NRF51802 PIN对PIN兼容NRF51822,主要的区别在于功耗
  18. Vue实践--V-for指令
  19. 决策树详解 从零到入门
  20. python序列计算变异系数

热门文章

  1. 死锁是什么?如何避免死锁?
  2. CSS起名表 (css ID CLASS名称参考)
  3. 网页加入QQ/MSN/SKYPE代码 实现免费在线客服
  4. hbase scan超时设置_hbase scan超时问题
  5. 中国信通院郭雪:企业如何进行合规风险治理
  6. java poi 图片 内存溢出_解决java poi海量数据导出内存溢出问题
  7. hive中的nvl函数
  8. linux安装usermod命令,Linux中的Usermod命令
  9. 服务器搭建系列之25:k8s安装skywalking全链路消息追踪神器,2022最新版本
  10. c语言转换成php,PHP学习笔记!(转)