HTML版本的选择

在开发一个新的基于Web的应用程序时,您应该瞄准哪个版本的html?

编辑:

很酷我只是试图从别人那里得到一种感觉,我倾向于在自己的工作中使用XHTML 1.0 Strict,当其他人参与内容创建时使用Transitional。

我将第一个XHTML 1.0 Transitional帖子标记为“正确答案”,但强烈认为在那一点上给出的所有答案同样有效。

0
额外 编辑
意见: 3

14 答案

我会为XHTML Transitional 1.0拍摄。仍然有一些细节不喜欢XHTML严格,我现在看到的大多数编辑会给你适当的推动,以确保事情做得正确。

0
额外
在HTML上使用XHTML没有一个令人信服的理由。
额外 作者 Mark,
不确定最新消息<< a href =“http://developer.mozilla.org/zh/Gecko's_%22Almost_Standards%22_Mode>”rel =“nofollow noreferrer”> developer.mozilla.org/en/&hellip ; ;是的,但如果Firefox仍然如此,则XHTML 1.0过渡将使Firefox处于几乎标准模式而不是完全标准模式。
额外 作者 Shadow2531,

就个人而言,我更喜欢XHTML 1.0 Transitional。

XHTML是基于XML的,所以它允许更容易的解析,并且您还可以使用大多数IDE的XML组件来编程查询和插入东西。

Transitional is not as strict as strict, which makes it relatively easy to work with, compared to strict which can often be a PITA. Comparison between Transistional and Strict

1.0比1.1更“相容”,1.1似乎仍处于某种发展阶段。

0
额外

@麦克风:

虽然我同意有效性不需要进行页面渲染(毕竟,我们必须保持IE6的兼容性......),但创建有效的XHTML兼容并且有效并不是问题。当人们习惯使用HTML 4并使用折旧标签和属性时,问题就开始了。

仅仅因为Web是一堆垃圾并不意味着每个新页面都需要成为一堆废话。 SO上的大多数验证错误是如此微不足道,不应该花太长时间修复,就像缺少属性的引号一样。

但它可能仍然没有意义,因为W3C无论如何都不知道他们想要去哪里(请参阅HTML 5),而且某个大型浏览器公司也使得操作系统并不在意,所以一个网站可能会发出它的文档类型为HTML 1337 Sucks,浏览器仍然会尝试呈现它。

0
额外

无论您使用哪种流行标准,任何呈现您网页的内容都会这样做。 XHTML更严格,可能“更好”,但我看不到一个标准比另一个标准有什么优势。

0
额外

Dillie-O对他的XHTML 1.0 Transitional答案正确,但我建议为XHTML 1.0 Strict进行拍摄,并且如果有严格不允许的绝对需要的某些功能,则只能使用Transitional。

0
额外

我的目标是XHTML 1.0 Trans。在浏览器中修复错误时,最好不要突然跟着时钟工作,试图找出实际需要改变的东西。

在我看来,1.1是borked,2.0已被粉碎成碎片:我真的需要/需要一个页眉/页脚标签吗?

0
额外

每一次我都严格遵守XHTML。我坚信HTML应该更像XML。如果你知道XML并且W3的验证器会让你处于正确的轨道,那么验证它并不难。

XHTML 2.0正朝着W3已经长期瞄准的目标迈进 - 语义网络。对我来说,XHT​​ML 2.0的最大好处是,网页上的每一个符合标准的页面都可以理解为内容或文章(因为这是页面 - 文档),因为它们都适用于相同的标准。然后,您将能够构建以完全不同的方式呈现内容的英文解释器(即浏览器) - 这里有成千上万的想法在等待着。

0
额外

Transitional flavors of XHTML and HTML are deprecated. They were intended only for old user-agents that don't support CSS. See explanation in the DTD.

W3C建议尽可能使用Strict,这些日子当然是有可能的。

过渡版本已经在XHTML / 1.1和HTML5中被删除。


XHTML / 1.0与HTML4具有完全相同的元素和属性(语义)。 XHTML / 1.0规范甚至没有指定任何元素!除语法之外,它指的是HTML4。

此外,如果您将文档作为 text / html 发送,并且不幸与IE兼容所需的,那么您将无法使用HTML中没有的任何XHTML功能(名称空间,XML DOM)和其他纯HTML浏览器。

在2008年,正确的选择将是HTML4 Strict:

但截至2016年,只有重要的 HTML版本

 <!DOCTYPE HTML>
0
额外

我不认为它实际上是否使用XHTML或纯HTML。这里的最终目标是通过可预测的渲染实现低维护和快速开发。只要你有验证代码,你可以使用xhtml或html来获得。我甚至听说过最好瞄准怪癖模式,因为新版本的浏览器不会改变怪癖模式,所以维护很容易。

最终,这一切都成为标签汤,原因很明显,因为让Web应用程序开发人员编写无错误的HTML意味着要求他们编写无错代码。验证器没有帮助,因为它们只验证初始页面视图。这也是为什么我从来没有在xhtml中看到任何超出静态网站的地位。 Web应用程序开发人员需要用XML来提供他们的Web应用程序的傲慢程度令人咋舌。

0
额外

如果您有像任何其他XML文档一样生成XHTML的工具,那么使用XHTML。但是,当您只使用纯文本模板,文本串联等时,您可以使用良好的旧版HTML 4.01。

浏览器现在开始支持这个10年前的标准。

Important: Avoid being called a bozo when producing XML

0
额外

If you want to use XHTML 1.0 in an HTML-compatible way, that's fine. However, do note that the W3C validator and the XHTML DTDs know nothing about mime types and how browsers behave differently (like name/id matching) between them. The DTDs know nothing about how well browsers support certain elements (like for example) either.

这意味着XHTML DTD和验证器不能反映现实,试图遵守它们是毫无意义的。

If you want to use XHTML just so you can close certain elements with /> (where html-compatible), just use HTML5 markup (so the browser is in full standards mode). HTML5 allows the use of /> in an HTML-compatible way (the same HTML-compatible way you have to do it when using XHTML 1.0 markup with text/html). Then, just stick to what works (you know better than some DTD) in browsers.

<!DOCTYPE HTML>

    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        
Line1
Line2

blank

<input type="text"/>

</body> </html>

然后,使用 http://validator.nu/ 确保它至少正常形成。

0
额外

有一些引人注目 警告关于XHTML的使用,主要围绕的事实是这种文件的MIME类型应该发送为:

Content-type:application / xhtml + xml

然而,IE 6和7不支持这一点,然后网站必须发送它为:

Content-type:text / html

不幸的是,这种方法是被认为是有害的

有些人还怀疑,尽管XHTML的目的是使网页能够被XML解析器解析,但实际上由于现有网站上的不正确使用而失败。

我仍然倾向于使用XHTML 1.0 Strict编写文档,这主要是因为挑战,以及清洁并检查验证器给出的错误。我喜欢这种语法,因为它强制我在标签结束时非常明确,等等。对于我来说,这比单纯的技术更适合个人选择。

0
额外
写得很好的HTML4也一样干净,并且还有验证器。你确定你不只是喜欢上XML吗?
额外 作者 Mark,
“我喜欢语法更好一些,因为它强制我在标签结束时非常明确,等等。”好吧,大多数情况下,没有什么会强迫你,而且你总是可以编写99%'xml有效'的HTML。
额外 作者 Bobby Jack,

HTML 4.01。绝对没有理由将XHTML用于除了实验性或学术性问题之外的任何事情,而您只想在“隐蔽”的Web浏览器上运行。

XHTML Transitional对于那些浏览器完全没有意义,所以我不确定为什么有人会这样做。实际上,很多人会推荐这一点非常令人震惊。

我认为瞄准HTML 4.01是最可预测的,但Teifion确实是对的,“任何渲染你的页面都会做的事情”。

回应 Michael Stum

XHTML是基于XML的,所以它允许更容易的解析,并且您还可以使用大多数IDE的XML组件来编程查询和插入东西。

这当然不是真的。 Web上的许多XHTML(如果不是大多数)不符合XML有效性(并且它不需要 - 它不会作为XML发送)。试图在处理它时像XML一样处理这个问题只会给你带来很多令人头疼的问题。举例来说,这个关于Stack Overflow的页面会因许多不合格的XML工具产生错误,导致无效的标记。

0
额外

HTML 4.0 Strict或ISO HTML。

0
额外
你有没有看过ISO HTML的规范?它比其他任何东西都更受限制。
额外 作者 user86297,