0

我在 IE8 中遇到了一个奇怪的错误。我的页面如下所示:

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset='utf-8'>
        <title>IE8 bug</title>
    </head>
    <body>
       <div class='content'>
           <a class='inner-text'>你好hello world</a>
           <a class='wid' >ssss</a>
       </div>
    </body>
    <style type='text/css'>
    .wid{
        border: 1px solid red;
        }
    .content{
        position: fixed;
        }
    .inner-text{
        display: inline-block;
        }
    </style>
</html>

错误是“ssss”将覆盖“你好你好世界”的一部分,似乎条件如下:

1) .content 必须定位固定或绝对;

2)设置.inner-text的显示inline-block,其innerHTML必须包含非ascii字母;

3)必须有DTD;

我有一些解决方案。一个是将“你好你好世界”更改为“你 好 世界你好”。但我想要一些更好的解决方案,你愿意帮助我吗?

4

1 回答 1

2

我发现这仅在本机 IE8 中,并且非 ascii 对我没有任何影响。

使用您设置的样式,我看到了:

在此处输入图像描述

如果我删除.inner-text { display: inline-block; }它修复:

在此处输入图像描述

如果你有.wid { display: inline-block; }.inner-text { display: inline-block; }也可以修复。

在此处输入图像描述

最后,显示它的最后一张图像仍然在没有字符的情况下破裂。

在此处输入图像描述

于 2013-10-30T06:31:49.617 回答