css – 带有display:table的Internet Explorer 8错误

前端之家收集整理的这篇文章主要介绍了css – 带有display:table的Internet Explorer 8错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个最奇怪的错误……我正在尝试使用display:table,我的概念证明在打开一个新进程后的第一次尝试中起作用,但任何后续的页面重新加载都会破坏设计.这是简单的HTML页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
    <style>
        .container {
            display: table;
        }

        .row {
            display: table-row;
        }

        .cell {
            display: table-cell;
            width: 100px;
            height: 100px;
            border: 1px solid blue;
            padding: 1em;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="cell">CELL A</div>
            <div class="cell">CELL B</div>
            <div class="cell">CELL C</div>
        </div>
    </div>
</body>
</html>

这是预期的结果,这是我第一次加载后得到的结果.

现在这是我重新加载页面后得到的,用F5:

这太疯狂了!

有人可以尝试一下,让我知道它是如何产生的吗?谢谢.我希望在我阅读解决方案时我不会自杀!-)

解决方法

事实证明,正如一些人所建议的那样,IE的兼容模式是以某种方式触发的.

我发现这是因为我在Intranet上运行该页面,默认情况下,Intranet网站启用了兼容模式.

这可以通过转到工具>来禁用.兼容性视图设置并取消选中“兼容性视图”框中的“显示Intranet站点”.当然,这不是你想要让所有用户都这么做的事情,所以建议我添加

<Meta http-equiv="X-UA-Compatible" content="IE=edge" />

标题中,效果很好.

更多信息:http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx

猜你在找的CSS相关文章