码迷,mamicode.com
首页 > 其他好文 > 详细

IE6常见Bug(自己总结)

时间:2014-12-21 15:13:51      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

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

IE7(IE6): *background:red;


IE8:background: \9 有空格
IE8(IE9):background:\9 无空格

兼容所有IE是\0后缀的
IE8:background:yellow \0 有空格
IE8(IE9):background:black\0 无空格

条件注释:(只有png格式的调用给IE6看,可以用条件注释)

<!--[if IE6]>IE6能看到<![endif]--> 只有IE6能看到


<!--[if IE7]>IE7能看到<![endif]--> 只有IE7能看到

注意:IE10 不支持条件注释

IE6-IE9才有条件注释。

<!--[!IE]>-->
非IE下
<!--<![endif]-->
==================================================================

js的引用 注意.png是className 或者用*代替

<!--[if IE6]>
<script src="sssss.js"></script>
<script>
ssss.fix(‘.png‘);

</script>

<![endif]-->

=====================================================================
IE6 常见BUG

1> 双边距BUG IE6下最著名的(必须记住)(IE6独有)

解决:_display:inline

2> li 的BUG 高度增加3像素 (IE6下独有的BUG)重点儿必须记住

li里面子级浮动了,在IE6下会有空隙出现(IE6下独有的BUG)3像素Bug 

解决:1.让li也浮动起来 _float:left

如果此时li变成了台阶形状的 则给li width:100% li还站着一行同时也没有3像素了

2.给li加vertical:top

3> IE6下最小高度:(必须记住) 

bug产生原因

IE6 下一个div有宽度,高度最小不是0而是12px

解决方法:
给 div height:0; 并且 _overflow:hidden;

或者是 height:4px _overflow:hidden ;(这样就可以在IE6下设置任意高度了,因为IE6 下最小高度是12px;)


10> a包着img的时候会有空隙同时img还有蓝色的border 就变块儿 所有浏览器都有

别的标签包着img 也会有空隙

让a变成行内块。display:inline-block同时要给给img 加 display:block 

如果a不变成块儿的话是不能包块儿的。此时img 已经变成块儿了

img{border:0 none}


5>IE6不支持子级的margin负值

给子级加上position:relative;没有脱离文档流。但是层级还高了。哈哈哈


15>png在IE6下不支持。 必须记住(IE6独有)

解决 1. 
<!--[if IE 6]>
<script src="js/DD_belatedPNG.js"></script>
<script>
// DD_belatedPNG.fix(‘*‘);
// DD_belatedPNG.fix(‘#img1‘);
// DD_belatedPNG.fix(‘#img1, #img2, #img3‘);
DD_belatedPNG.fix(‘.png‘);
</script>
<![endif]-->

<img src="images/logo.png" class="png" />


9> select 在IE6下是最高级别的显示,比important还要高(必须记住 IE6特有)

解决:1 自己模拟一个select。

2 用flash 遮盖住select flash的级别更高;

 

4> 子级撑开父级(会用到定位,这种BUG一般遇到比较少)

解决:给父级加overflow:hidden;

 



6>IE6下line-height失效:

产生原因:
行内元素与行内块元素在同一行中,行内元素的line-height失效


解决方法:1.即避开行高 使用另外的方式来代替

input 加 margin-top 等于 (父级高度-input高度)/2

2. 用浮动 然后再用margin撑开距离

7> 注释最好不要写在浮动标签里面 就在父级也注释就好了

原因:
IE6 下 两个浮动元素,宽度都是width:100%
在浮动元素间加注释就会多出几个字
解决:
1. 删除注释。但不彻底,浮动元素多了还是会出问题
2. 推荐:给浮动元素加_background:none;

 

8> 
IE6下不支持最小宽


解决方法:
利用 IE6 子级能撑开父级的bug,给 IE6 加 _width:200px;
white-space:nowrap;(不换行的意思)这样内容就可以撑开父级

 

 

 

 

11> opacity 宽高自适应的时候 IE6下不认


解决:给IE6单独写 _hiehgt:99999px ;_overflow:hidden;

12> IE6 下,定位元素与浮动元素在同一个父级下紧挨着。定位的元素会消失
解决方法:
记着浮动的三要素,同级都得浮动就可以解决

在定位元素与浮动元素之间放一个块空标签即可解决。


13> 行内元素 paddin margin 都不支持上下 只支持左右。

 

14> haslayout 低版本下的渲染模式。zoom:1 可以触发

ul+li+a 做导航的时候;宽度不能设死。只能用padding撑开的时候 加一个zoom:1;就可以了

15> IE6 下,定位元素与浮动元素在同一个父级下紧挨着。定位的元素会消失
解决方法:
在定位元素与浮动元素之间放一个块标签即可解决。

16>
=======================================================================================

 

IE6常见Bug(自己总结)

标签:

原文地址:http://www.cnblogs.com/dfish/p/4176576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!