添加HTML Doctype,以IE为中心

时间:2014-01-15 16:28:29

标签: html css internet-explorer

仅在IE中发生这种情况。我在IE7,IE8和IE9中测试过它。

如果我删除了html doctype,那么td标签是左对齐的。但是,如果我添加任何标准的HTML4或5标签,它会使文本和输入居中。

它在其他浏览器中运行良好。我可以通过td { text-align: left; }轻松解决这个问题,但我想知道为什么会这样。

以下任何一种doctypes都会导致这种情况:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<!DOCTYPE HTML>

我很惊讶我找不到答案,但是我用谷歌搜索并在这里搜索,什么也没找到。

1 个答案:

答案 0 :(得分:1)

当没有指定doctype时,IE将进入所谓的“Quirks模式”。

这个想法是它应该使解释器更兼容。但实际上怪癖模式只会使大多数东西不能正常工作。所以总是在IE中声明一个doctype。

默认td居中的东西只是另一个IE不兼容的html标准,没什么特别的。 我无法找到它或测试它,IE11开发工具不允许怪癖,IE7和IE8模式使得td左对齐我。也许你的代码中还有另一条规则让IE表现得很奇怪。