简短问题:我可以将现有XHTML 1.0网站的DOCTYPE更改为HTML5吗?这会导致任何问题吗?
长篇故事:
我们有一个用ASP.NET webforms编写的网站。由于它很旧,默认的DOCTYPE设置为XHTML(Visual Studio的默认设置),所有控件也都呈现XHTML。不是非常有效,但到目前为止我们在任何浏览器都没有问题。
也就是说,直到最近我们才注意到IE下不同机器上的一些奇怪行为。事实证明,默认情况下,IE会以“兼容模式”呈现内部网网站,这会打破常规。
现在,我有两个选择。我可以添加:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
或者我可以添加
<!DOCTYPE html>
我更喜欢DOCTYPE路线,因为它会为很多简洁的HTML5功能打开大门。但是我想知道它是否会与我们现有的XHTML布局不兼容。
答案 0 :(得分:5)
首先,IE确实默认情况下以兼容模式呈现Intranet站点。但是,这是一个配置设置,可以关闭:如果可能的话,我建议您的第一个解决方案就是在网络上的所有机器上关闭此设置。 (这是否可行的解决方案将取决于您的网络规模,您的组策略以及其他内部网站点将受到影响)
现在回答你的问题。
可以在要以标准模式呈现的任何网站上指定HTML5文档类型。如果您已经在使用XHTML,那么对您来说唯一的影响就是浏览器将不再严格执行严格的XHTML合规性。您完全有权继续使用XHTML代码,但不会强制执行。
HTML5 doctype是专门选择的,因为它适用于现有的浏览器,包括旧版本的IE。你应该可以将它放在任何页面上,它应该可以正常工作。
它不会对IE进入兼容模式有任何影响。任何其他文件类型也不会。您提到的X-UA-Compatible
解决方案是解决此问题的方法(除非您可以设置我之前提到的配置设置),并且与doctype无关 - 即使您使用HTML5 doctype,您仍然需要它。
答案 1 :(得分:3)
据我所知,HTML5几乎是xhtml加上额外内容所以是的,我认为你可以改变doctype,它仍然可以工作。他们在这里回答:If I use HTML 5's doctype, what will happen?
答案 2 :(得分:1)
HTML5旨在向后兼容HTML 4.01和XHTML 1.0 / 1.1,以便以前的(X)HTML页面可以更容易地迁移到HTML5。当然,他们不会利用新的HTML5功能(例如新标签),但它们仍然是技术上有效的HTML5。