代码之家  ›  专栏  ›  技术社区  ›  Ben Lesh

对于IE7/IE8/FF3+的HTML输出,建议使用什么doctype?如何在Visual Studio中更新HTML验证以反映这种更改?

  •  6
  • Ben Lesh  · 技术社区  · 15 年前

    我注意到Visual Studio默认doctype为xhtml 1.0 transitional。这似乎没问题,但我认为这更符合“第6代”浏览器的标准。我们现在使用的是第7代和第8代浏览器,我想知道应该在HTML中放入什么doctype。

    在相关的注释中:是否有方法在Visual Studio 2008中向HTML验证添加其他doctypes?工具>选项>文本编辑器>HTML>验证

    5 回复  |  直到 15 年前
        1
  •  23
  •   BalusC    15 年前
    <!doctype html>
    

    方式 外带。这在所有不错的浏览器中都能正常工作,包括IE6(尽管它不是一个不错的浏览器)。另请参见 http://hsivonen.iki.fi/doctype/ 有关更多背景信息和浏览器行为表。

    您也可以认为XHTML是严格的,但为什么要将干净的HTML转换为XML格式呢?只有当您想使用某种XML工具来解析/生成/验证HTML时才有意思,这在现实世界中通常不是这样。谷歌也只是使用 <!doctype html> StackOverflow使用了很好的HTML Strict。

        2
  •  3
  •   Ben Lesh    15 年前

    请注意阅读此线程寻找答案的任何人:我刚刚发现HTML5的声明只是 <!DOCTYPE HTML> 真的没什么好奇心。

    另外,为了将HTML5验证添加到Visual Studio 2008中,我发现 this article . 到目前为止效果还不错。

    需要注意的其他事项:Visual Studio添加了 xmlns="http://www.w3.org/1999/xhtml" 对你 <html> 如果你要买HTML5的话,你可能不想/不需要它。

    谢谢你们指点我的方向。

        3
  •  2
  •   Joey Gumbo    15 年前

    首先,你可能想避免 过渡时期 文档类型 新的 内容。过渡性是针对需要在确认为严格的DTD之前彻底修改的遗留内容,但这不是新文档的问题。

    而且,至少在我的经验中,XHTML产生的麻烦比它的好处还多。除非您在某些方面需要XHTML(例如允许XML解析器读取您的站点[但即使这样,它也可能无法验证,因此不适合这样做]),否则我建议您严格遵守HTML4。此外,XHTML需要特别注意IE,即使在IE8中也是如此。

        4
  •  2
  •   Jamie Dixon    15 年前

    就个人而言,我选择XHTML 1.0 Strict或HTML 4.01 Strict。

    除非您从使用旧版本的HTML“过渡”,否则使用过渡doctype没有多大意义。

    XHTML 1.1也是一个选项,但是您需要确保使用application/xhtml+xml mime类型为文档提供服务。

    HTML5仍然是一个非常新的版本,但是如果你推出了一些你只希望在最新的浏览器中工作的最新版本,那么它可能是一个选项。

    Visual Studio的架构通常保存在:

    C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Schemas\HTML

    我相信你可以根据需要在这里添加新的。我一找到这个就把更多细节贴出来。

        5
  •  1
  •   Scott Vander Molen    15 年前

    您应该使用严格的doctype。无论是HTML4.01 Strict还是XHTML 1.0 Strict,都由您决定。最近,我个人一直在使用以下功能:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
    

    我真的很喜欢RDFA的工作方式。它通过定义自己的属性而不是重载类和标题属性,更清晰地连接到HTML而不是微格式上。但是,由于RDFA仍然不像微格式那样是真正的可消费的,所以我将两者同时使用。