你现在的位置 -> try it » 实验室

IE6特殊的Bug

星期四, 九月 17th, 2009, 17:35 | YSjia 点击2006次

今天在做东西时,发现在一个ie6有趣但是又很无语的Bug,见图:

IE6下

image

正常效果

image

CSS

            .t {
                background: #ccc;
                border: 1px solid #ccc;
                width: 500px;
            }

            .t0 {
                margin: 0;
            }

            .t1 {
                float: left;
                margin-left: 2%;
                background-image: url(images/test-boder.jpg);
                height: 180px;
                position: relative;
                width: 10%;
            }

            .t2 {
                float: right;
                margin: 0;
            }

HTML

        <div class="t">
            <div class="t1 t0">
                thi is t1
            </div>
            <div class="t1">
                thi is t2
            </div>
            <div class="t1 t2">
                this is t3
            </div>
            <div style="clear: both">
            </div>
        </div>

测试网址(请在ie6下查看):http://yslove.net/lab/ie6-background-width.html

这个非常奇怪的效果,真是非常的奇特。

触发的条件也非常的苛刻,.t1必需要有的属性为:

background-image, position, width

position的值要为relative, width的值必需为百分比。

此时会发现t2已经在右边的margin值已经无效(注:不是双倍)

解决方法

将position变成static,或去掉background-images的属性,或者将width的值变为像素单位。

后记

在网上找了好久,都没找到为什么会这样,三个属性在ie6下竟然会发生这样的冲突,真是奇怪。并且我发现在在Quirks Mode下会发现在这样的情况,但是我的文件里并没有激发ie6的Quirks Mode。

不知道大家看到的效果是否跟我的一样。

原创文章转载请注明:YSlove.net
本文固定链接:http://yslove.net/2009/09/ie6-background-width-position-bug/


如果你喜欢请+1 ^_^

Tags:

5 Responses to “IE6特殊的Bug”

  1. bolo 说:

    你要讲究IE6的弱智

    [回复]

  2. junjun 说:

    我觉得以后要有问题直接上你这来找来问就可以了哦
    等我空了试试下你这个东东,谢谢了

    [回复]

    Y.Jiajia 说:

    好,欢迎,给我留言或Email都可以~:)

    [回复]

  3. zwwooooo 说:

    沙发!ie6很烦,昨天在制作一个新主题,为了ie6下的效果竟然花了我一半时间去搞定……

    [回复]

    Y.Jiajia 说:

    关键是对它的算法不了解,都是摸索中寻找光明~

    [回复]

留下你的足迹

分类

随机作品

EYE

很漂亮的眼睛,很有神,清澈透明!

Photoshop CS3

Wacom

YATAO Express

YATAO的电子杂志

TWO IT-Services Web Design

Simple?Simple!

UAT9