2012-12-21 39 views
2

请考虑下面的HTML代码:IE 10部队严格模式

<style> td, tr { border:1px solid gray; } </style> 
<table class="tableinfo" cellspacing="1" cellpadding="3"> 
    <tr> 
    <td>asd</td> 
    <td>bsd</td> 
    </tr> 
    <tr style="display: block;" > 
    <td class="">ttt</td> 
    <td class="">asd</td> 
    </tr> 
</table> 

随着文档类型:

<!doctype html> 

在IE9中的一切工作正常,但在IE10表坏了:

enter image description here

这是为什么发生?

如何解决这个问题?

一种解决方案是增加以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 

但是这打破造型在整个项目。

回答

3

IE10不能像IE9那样工作,IE8/7/6等不起作用,并且这些工作都不像其他更现代的浏览器。你在IE10中的例子是它在现代浏览器中的工作原理,所以IE9是行为不端的。除非您使用错误的方法,否则更改文档类型永远不是解决方案。您的解决方案使用了错误的解决方案,并将您置入怪癖模式。

+0

是的IE9 misbehaved更改'块'为'表行',并正常工作。我相信自从那个'表行'可能不起作用的IE6以后我就有了这些代码。传统代码的魅力:) – TomTom