我正在重构
中的.Net Web应用程序<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
目前,这种方法只是针对明星而去寻找最新的doctype,因为它是最新的,我想做出更明智的选择并针对特定的一个并且有充分的理由。
现有类似的问题,但现在答案可能已经过时。
标准和怪癖模式之间的区别,优点和缺点是什么,我可能会遇到不同设置的doctypes有什么怪癖?
我被告知XHTML文档类型比集成AJAX更可取,因为UpadtePanel序列化它需要有一个XHTML do类型,这到底有多大?
对于浏览器兼容性,浏览器在DOCTYPE方面走向哪个方向,是否存在共同的威胁,或者它们是否存在差异?
答案 0 :(得分:15)
HTML5 doctype,即
<!DOCTYPE html>
XHTML在很大程度上已经死亡,在大多数情况下从未正确实施。
答案 1 :(得分:4)
任何文档类型:
作为html(不是html + xml)应该没问题。没有更好的doctype这样的东西,你只需选择一个满足你的需求然后坚持其规则。
target="_blank"
)中禁止的属性而不是使用过渡模式:这就是创建它的原因!并且请向您的用户表明该链接将在新页面中打开,无论是在链接文本中还是在其标题中。从可访问性的角度来看,这很重要。HTML 5 是下一件大事,我们正在等待它,但只要它不能在每个浏览器中工作(我的意思是没有JS的IE),建议不要使用它“严肃的”公共场所。它甚至是草案吗?如果整个部分在几个月内被重写怎么办? 我的网络代理商将其用于其网站,但我们不会很快在客户端网站上使用它:它太早了。
Sidenote :我经常看到像“ HTML5和CSS3 中的现代网站”这样的短语,暗示 CSS3 是针对HTML 5制作的。 CSS3与HTML5无关,只要它在旧浏览器上优雅地降级,就已经可以使用了 您可以使用最新的CSS3动画设计带有CSS2.1或HTML4.01 Transitional的HTML5,这些动画仅适用于webkit nightlies,没问题。
答案 2 :(得分:3)
新的东西是HTML 5。
<!DOCTYPE html>
是用来指定它的。而已。没有DTD名称或URL或其他。
如果你正在使用喜欢XML的东西,比如.net,那么你可能想要使用XHTML。但不要出于任何其他原因这样做; XHTML作为标准从未真正受欢迎,或者至少它几乎从未正确使用过。
答案 3 :(得分:1)
浏览器从未真正使用DOCTYPE来确定文档的标记语言(它们使用的是HTTP内容类型),因此您选择的DOCTYPE从未具有相关性 - 只要您使用有效的DOCTYPE一些描述。无论你选择哪一个都取决于你。
如果你正在编写HTML,<!DOCTYPE html>
是最短的输入,并将所有浏览器置于标准模式(这就是你想要的)。
如果您正在编写XHTML,<!DOCTYPE html>
也是完全合法的(XHTML实际上根本不需要DOCTYPE,因为它完全依赖于HTTP Content-type,但是将DOCTYPE放入可移植性没有任何害处。 / p>
不要使用<!doctype html>
- 虽然这是技术上有效的HTML,但它是无效的XHTML,因此如果您尝试将页面解析为XML,则会中断。
稍微OT注意:这里的一些人评论说XHTML是一个“死”的标准 - 这是错误的。 XHTML已集成到即将推出的HTML5规范中。该规范名为“ HTML5:用于HTML和 XHTML 的词汇表和相关API
请参阅:
答案 4 :(得分:1)
无论您选择什么,请确保您的MIME类型与您的DOCTYPE兼容
浏览器将使用MIME类型(HTTP标头内容类型)来确定如何处理您的页面。例如:作为ContentType Text\HTML
的XHTML 1.1 Strict的DOCTYPE被解析为HTML。
DOCTYPE很重要,但如果使用了错误的ContentType,则很大程度上无关紧要。