Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css Internet Explorer 8显示错误:表格_Css_Internet Explorer_Internet Explorer 8 - Fatal编程技术网

Css Internet Explorer 8显示错误:表格

Css Internet Explorer 8显示错误:表格,css,internet-explorer,internet-explorer-8,Css,Internet Explorer,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.w

我有史以来最奇怪的虫子。。。我正在试验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>

无标题页
.集装箱{
显示:表格;
}
.行{
显示:表格行;
}
.细胞{
显示:表格单元格;
宽度:100px;
高度:100px;
边框:1px纯蓝色;
填充:1em;
}
细胞A
B单元
细胞C
这是预期的结果,这是我第一次加载后得到的结果

这就是我在重新加载页面后得到的结果,使用F5:

太疯狂了


有人能试试看,让我知道结果如何吗?非常感谢。我希望在阅读解决方案时不会自杀:-)

浏览器处于兼容性视图时的问题。(根据泰勒的建议)

当页面以正常视图显示时,单元格是水平的。在兼容性视图中显示时,单元格是垂直的


正如我在评论中所说,我强烈反对display:(table/table row/table cell)CSS属性。它没有得到很好的支持,必然会有一些怪癖


老实说,如果您显示的是表格数据,那么请使用表格。表只有在用于布局时才是有害的。

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

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

可以通过转到“工具”>“兼容性视图设置”并取消选中“在兼容性视图中显示intranet站点”框来禁用此功能。当然,这并不是你一定要要求所有用户去做的事情,所以有人建议我添加

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

在标题中,这非常有效


更多信息:

@ M1337:考虑IE8已经有一段时间了。为什么你是第一个看到这个错误的人?对我来说很好。(WindowsXP,8.0.6001.18702)我强烈反对显示:(表/表行/表单元格)CSS属性。它没有得到很好的支持,必然会有一些怪癖。老实说,如果您显示的是表格数据,那么请使用表格。表仅在用于布局时才是有害的。请检查兼容性模式。IE8应该呈现display:table。也许你应该简单地使用一张桌子?@md1337如果你问的是什么,这并不重要。您正在使用容易出错的CSS,并抱怨您遇到了错误。首先不要使用容易出错的CSS。@md1337-你不需要。您编写的代码可以跨多个浏览器兼容(因此我的评论不鼓励使用那些CSS属性)。@md1337。哦,在你不这么想之前,否决票不是我投的。这是一个合理的问题,即使答案不是你想要的;)<代码>警报(document.documentMode)将告诉您
8
7
(或
5
用于怪癖模式)。使用
强制IE使用其可用的“最佳”标准模式。否则,如果用户请求、默认或意外单击,或者如果Microsoft将您列入兼容列表,您可能会成为兼容模式的牺牲品。@bobince:Great comment!你挽救了这一天。