前端开发IE6中css的BUG统计

程序员最讨厌的就是反复的修复查找BUG,,,,,特别是万恶的IE6,不过没办法,改修复还是修复处理,谁让我们干的是这一行呢。。下面鹏哥就来统计一下ie6中我们经常遇到的CSS问题。不过目前基本都不需要兼容IE6了,甚至js严格模式直接放弃IE系列,,而且ES6,H5,CSS3基本也就兼容IE高版本。不废话,直接上代码。

1.双边距BUG:
* { margin:0; padding:0; }
.box { float:left; margin-left:20px; width:200px; height:200px; background-color:red; }

<div class="box"></div>


/*
    bug产生原因
        margin的方向与浮动的方向相同
        
    解决方法:
        浮动的元素身上加 display:inline;
*/
2.li标签下面多出的边距:
* { margin:0; padding:0; }
ul { width:500px; margin:100px auto; background:green; }
li { list-style:none; overflow:hidden; width:100%; background:#39F; vertical-align:top; }
.left { float:left; height:200px; width:200px; background:#F63; }


<ul>
        <li>
            <div class="left"></div>
        </li>
        
        <li>
            <div class="left"></div>
        </li>
        
        <li>
            <div class="left"></div>
        </li>
        
        <li>
            <div class="left"></div>
        </li>
        
        <li>
            <div class="left"></div>
        </li>
    </ul>


/*
    bug产生原因
        li 中有浮动的元素
        
    解决方法:
        li 加上 vertical-align:top;
*/
3.单像素BUG:
<style>
* { margin:0; padding:0; }
.box { position:relative; width:501px; height:501px; margin:100px auto; background:red; }
h3 { position:absolute; right:0; bottom:0; width:100px; height:100px; background:#33C; }

</style>
</head>

<body>
    <div class="box"> 
        <h3></h3>
    </div>

</body>


/*
    bug产生原因
        IE6 对于奇数定位支持的不是很好
        
    解决方法:
        在设计初期就把宽高设置为偶数
*/
4.IE6最小高度:
<style>
* { margin:0; padding:0; }
div { overflow:hidden; width:200px; height:0; border:1px solid red; }

</style>
</head>

<body>
    <div></div>

</body>


/*
    bug产生原因
        IE6 下一个div有宽度,高度最小不是0而是字体大小
        
    解决方法:
        给 div height:0; 并且 overflow:hidden;
*/
5.IE6子级撑开父级:
<style>
* { margin:0; padding:0; }
div { overflow:hidden; width:200px; height:200px; margin:100px auto; border:10px solid red; }
h3 { width:300px; height:300px; background:yellow; }

</style>
</head>

<body>
    <div>
        <h3></h3>
    </div>

</body>


/*
    解决方法:
        给父级 overflow:hidden;
        
*/
6.IE6不支持子级的margin
<style>
* { margin:0; padding:0; }
div { width:200px; height:200px; margin:100px auto; border:10px solid red; }
h3 { width:100px; height:100px; margin-left:-50px; background:#33C; position:relative; }

</style>
</head>

<body>
    <div><h3></h3></div>
</body>


/*
    解决方法:
        子级身上加 position:relative;
*/
7.IE6下3像素BUG:
<style>
* { margin:0; padding:0; }
div, h3 { width:200px; height:200px; }
div { float:left; background:#06F; }
h3 { float:left; background:#F90; }

</style>
</head>

<body>
    <div></div><h3></h3>
</body>


/*
    解决方法:
        两个元素都浮动就好
*/
8.IE6下line-height失效:
<style>
* { margin:0; padding:0; }
ul { width:500px; margin:100px auto; }
li { list-style:none; height:50px; line-height:50px; border:1px solid #000; }
input { height:16px; margin-top:16px; }

</style>
</head>

<body>
    <ul>
        <li><span>文字文字文字文字</span><input type="text" /></li>
    </ul>

</body>


/*
    产生原因:
        行内元素与行内块元素在同一行中,行内元素的line-height失效
    
    解决方法:
        input 加 margin-top 等于 (父级高度-input高度)/2
*/
9.IE6下png半透明失效:

</head>

<body>
    ![](images/logo.png)
</body>



<!--[if IE 6]>
<script src="js/DD_belatedPNG.js"></script>
<script>
    DD_belatedPNG.fix('.png');
</script>
<![endif]-->
10.select层级问题:
<style>
* { margin:0; padding:0; }
select { width:100px; height:100px; }
div { position:absolute; top:0; left:0;  width:200px; height:200px; background:red; }

</style>
</head>

<body>
    <select></select>
    <div>
    </div>
</body>


/*
    解决方法:
        自己写一套 select 然后用 js 控制
        原生的本来就不好看,而不容易修饰
*/
11.IE6下定位元素消失:
<style type="text/css">
.box { width:600px; height: 50px; color:#fff; border: 1px solid red; zoom:1; position: relative; }
.box:after { display:block; content:''; clear: both; }
.box div { font-size:50px; }
.box1 { position:absolute; left:0; top:0; width:500px; height:50px; background:#f0f; }
.box2 { overflow: hidden; display:inline; float:left; width:300px; height:30px; background:red; }
.box3 { overflow: hidden; display:inline; float:left; width:300px; height:30px; background:blue;}

</style>
</head>

<body>
    <div class="box">
        <div class="box1">box1</div>
        <div></div>
        <div class="box2">box2</div>
        <div class="box3">box3</div>
    </div>
</body>


/*
    IE6 下,定位元素与浮动元素在同一个父级下紧挨着。定位的元素会消失
    解决方法:
        在定位元素与浮动元素之间放一个块标签即可解决。
*/
12.UL+LI+a做导航掉下来:
<style>
* { margin:0; padding:0; }
ul { overflow:hidden; zoom:1; background:red; }
li { display:inline; float:left; list-style:none; }
a { float:left; height:50px; line-height:50px; padding:0 50px; }
a:hover {
    background:blue;
    color:#fff; 
}

</style>
</head>

<body>
    <ul class="clear">
        <li><a href="#">首页</a></li>
        <li><a href="#">身边团购</a></li>
        <li><a href="#">身边外卖</a></li>
    </ul>
</body>


/*
    bug 产生原因:
        a 标签没有 width ,只有 padding 的时候,display:block就会出问题
*/
13.Ul浮动li不浮动出现的问题:
<style>
* { margin:0; padding:0; }
ul {
    display:inline;
    float:left;
    width:200px;
    border:1px solid red;
    font-size:12px;
}
li {
    display:inline;
    float:left;
    width:100%;
    list-style:none;
}

</style>
</head>

<body>
    <ul>
        <li><a href="#">新闻标题新闻标题新闻标题</a></li>
        <li><a href="#">新闻标题新闻标题新闻标题</a></li>
        <li><a href="#">新闻标题新闻标题新闻标题</a></li>
        <li><a href="#">新闻标题新闻标题新闻标题</a></li>
    </ul>
</body>


/*
    bug 产生原因:
        ul 浮动,li没有浮动
        
    解决方法: 
        li 也浮动 
*/

目前就这么多,前面鹏哥也发过js兼容性问题的文章,喜欢的朋友可以去看下。以上结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 228,030评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,310评论 3 415
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,951评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,796评论 1 309
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,566评论 6 407
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,055评论 1 322
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,142评论 3 440
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,303评论 0 288
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,799评论 1 333
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,683评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,899评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,409评论 5 358
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,135评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,520评论 0 26
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,757评论 1 282
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,528评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,844评论 2 372

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,774评论 1 92
  • 1. 各个浏览器默认的内外边距不同 解决:*{margin:0;padding:0;} 2. 水平居中的问题 问题...
    哓两々阅读 1,697评论 0 4
  • 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能...
    卡卡西哥哥阅读 535评论 0 1
  • 测试IE6及IE6+推荐:良心总结 IE8中input[button|submit]不能用margin:0 aut...
    Miss____Du阅读 955评论 0 9
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,224评论 0 8