0

嗨,我编写了一个打印日历的 Perl cgi 脚本。它在 IE10、Firefox 和 Chrome 中运行良好,但在 IE8 中运行良好,在 Firefox 的 IE Tab+ pulgin 中也无法运行。该页面部分显示,其余部分被剪掉......该网页还嵌入了Javascript。

有没有人遇到过这个问题?有什么解决办法??

我不能放屏幕截图,但我可以说我的表格中有 5 列,显示了两列半,附加到这些单元格的 java 脚本可以工作,但其余两列半缺失。

*这可能不漂亮,但这会重现问题。

*我在 jsfiddle 中尝试了这个示例,在那里我看到两列相互重叠。

<html>
<style>
#today
{
    color:red;
}
table
{
 table-layout: fixed;
 text-align:center;
width: 800px;
height: 500px;
}

td
{
    padding : 0px 0px; 
width: 80px;
height: 80px;
    text-align:center; 
    font-size: 20px;
}
</style>
<body bgcolor="#COCOCO">
<h1>my blah blah blah Calendar</h1>
<table>
 <t><td> 
<table color="black" bgcolor="white" border="1px">
<tr>
xfgvfsd
</tr>
<tr>
<td>Su</td>
<td>Mo</td>
<td>Tu</td>
<td>We</td>
<td>Th</td>
<td>Fr</td>
<td>Sa</td>
</tr>

</table>
 </td> 
 <td colsize="5">

edsafsdg
 </td></tr> 
</table>

</body>
</html>
4

1 回答 1

0

如果您的文档没有 doctype 或在 doctype 之前有空格,它将以兼容或 quirks 模式呈现。这将导致浏览器使用包含所有奇怪布局错误的旧渲染引擎。

要验证这一点,请按F12打开您的 MSIE 开发人员控制台并检查浏览器呈现模式。

如果 IE 以 quirks 模式呈现,您应该<!DOCTYPE html>在标记之前添加一个 doctype,<html>以确保它不会自动触发。

您还应该添加一个元标记来<head>强制 IE 使用最新的渲染引擎渲染页面:

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

这应该可以防止 IE 使用兼容模式。您还可以采取其他服务器端步骤。查看此MSDN 博客文章以了解所有具体细节。

于 2013-08-21T16:15:09.193 回答