适当的DTD解决此问题?

问题描述 投票:1回答:2

我在跨浏览器兼容性方面遇到问题,并找到了一个名为“浏览器兼容性检测器”的Chrome浏览器插件。建议添加DTD以标准模式呈现页面。

我添加了这个:

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

带来了新问题,并修复了其他问题,但至少现在所有浏览器的工作方式都差不多。

但是仍然建议为另一个问题添加DTD:

In IE6 IE7(Q) IE8(Q), the container will be enlarged when its 'width' or 'height' is not big enough to hold all its contents
Content box's size in Chrome: 1366 * 0, in IE: 1366 * 653.
Suggestion: Use a DTD that makes the page rendered in Standards Mode, so that only IE6(S) will be affected.

我应该添加哪种类型的doctype?我什至不知道它们在5分钟前就已经存在,所以我不知道该写些什么。

html cross-browser doctype dtd
2个回答
1
投票

我建议您仅添加HTML5 docytype

<!DOCTYPE html>

以便您的代码对将来友好,然后开始查明并解决跨浏览器的问题。

此外,如果您不需要支持IE6和IE7等旧版浏览器,则可以开始忽略它们。检查您的统计信息,看看是否值得支持。


0
投票

<!DOCTYPE ... >最初是SGML指令,它(直接或通过引用)定义了文档的语言及其可能的结构。如今,有关它在浏览器中激活哪种呈现/解析模式的讨论中可能经常提到。

http://hsivonen.iki.fi/doctype/

这是关于HTML文档的不同doctype声明的一般不错的文章。它具有有关不同模式的一些背景信息以及一个表,该表指示什么文档类型激活了什么模式。通常,最佳实践是使用与您的HTML / XHTML版本(或与您的版本兼容)匹配的doctype声明,并在浏览器中触发标准模式。

© www.soinside.com 2019 - 2024. All rights reserved.