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

编辑:

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

我将第一篇XHTML 1.0 Transitional帖子标记为“正确答案”,但坚信那时给出的所有答案同样有效。

===============>>#1 票数:25

HTML 4.01。 除了您只想在“晦涩”的Web浏览器上运行的实验性或学术性问题外,绝对没有理由使用XHTML。

XHTML Transitional甚至对于那些浏览器也毫无意义,因此我不确定为什么有人会为此目的。 实际上,令人震惊的是,许多人会建议这样做。

我想针对HTML 4.01进行预测是最可预测的,但是Teifion确实是对的,“任何呈现您页面的内容都可以做到”。

回应Michael Stum

XHTML是基于XML的,因此它可以简化解析,您还可以使用大多数IDE的XML组件以编程方式查询和插入内容。

这当然是不正确的。 网络上的许多XHTML(如果不是大多数的话)都不符合XML的有效性(并且不需要-它不是作为XML发送的)。 尝试在处理XML时将其视为XML只会使您头疼。 例如,Stack Overflow上的此页面将因许多无效的XML工具而产生错误,这些工具具有无效的标记。

===============>>#2 票数:8

不推荐使用XHTML和HTML的过渡风格。 它们仅用于不支持CSS的旧用户代理 请参阅DTD中的说明

W3C建议您在任何可能的情况下都应使用Strict,而如今这确实是可能的。

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


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

此外,如果您以text/html发送文档,则将无法使用HTML中不可用的XHTML的任何功能(命名空间,XML DOM),而不幸的是,这是与IE和其他仅HTML浏览器兼容所必需的。

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

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

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

 <!DOCTYPE html>

===============>>#3 票数:8 已采纳

我会为XHTML Transitional 1.0拍摄。 还有一些不喜欢XHTML严格的细微差别,而且我现在看到的大多数编辑器都会为您提供适当的提示,以确保一切正确。

===============>>#4 票数:3

关于XHTML的使用,有一些令人信服的 警告 ,主要围绕这样一个事实,即此类文档的mime类型应发送为:

Content-type: application/xhtml+xml

但是IE 6和IE 7不支持此功能,然后网站必须将其发送为:

Content-type: text/html

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

一些人还抱怨这样一个事实,尽管XHTML的目的是使网页可由XML解析器解析,但实际上,由于在现有网站上使用不正确,它实际上失败了。

我仍然更喜欢用XHTML 1.0 Strict编写文档,主要是因为挑战, 验证程序提供的整洁性和错误检查。 我更喜欢语法,因为它迫使我在标记结束时等方面非常明确。对我来说,不仅仅是纯粹的技术选择,而是我个人的选择。

===============>>#5 票数:3

@麦克风:

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

仅仅因为Web一堆废话,并不意味着每个新页面也需要一堆废话。 SO上的大多数验证错误都很琐碎,不应花太长时间进行修复,例如缺少属性的引号。

但考虑到W3C仍然不知道他们想去哪里(请参阅HTML 5),并且某个也生产操作系统的大型浏览器公司也不在乎,因此这可能仍然毫无意义。一个网站也可以发送它的文档类型,因为HTML 1337 Sucks很容易,浏览器仍会尝试呈现它。

===============>>#6 票数:2

Dillie-O对XHTML 1.0 Transitional的回答是正确的,但我建议您为XHTML 1.0 Strict拍摄,如果您确实需要Strict不允许的某些功能,则只能使用Transitional。

===============>>#7 票数:1

如果您想以兼容HTML的方式使用XHTML 1.0,那很好。 但是,请注意,W3C验证器和XHTML DTD对MIME类型以及它们之间的浏览器行为如何不同(如<map>名称/ id匹配)一无所知。 DTD也不知道浏览器如何支持某些元素(例如<embed>)。

这意味着XHTML DTD和验证器不会反映现实,而试图符合现实是没有意义的。

如果您只想使用XHTML,以便可以使用/>(与html兼容)关闭某些元素,则只需使用HTML5标记(这样浏览器就处于完全标准模式)。 HTML5允许以HTML兼容的方式使用/>(使用XHTML 1.0标记和text / html时,必须使用HTML兼容的方式)。 然后,坚持使用浏览器中有效的方法(您比某些DTD更了解)。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        <p>Line1<br/>Line2</p>
        <p><img src="" alt="blank"/></p>
        <p><input type="text"/></p>
        <p><embed type="application/x-something" src=""/></p>
    </body>
</html>

然后,使用http://validator.nu/至少确保其格式正确。

===============>>#8 票数:1

每次我都为XHTML Strict而努力。 我坚信HTML应该更像XML。 如果您知道XML并且W3的验证器始终将您指定在正确的轨道上,那么验证它并不难。

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

===============>>#9 票数:1

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

浏览器现在开始支持这个已有10年历史的标准。

重要提示: 生成XML时避免被称为bozo

===============>>#10 票数:1

无论您使用哪种流行的标准,呈现页面的任何内容都可以。 XHTML更加严格,可能“更好”,但是我看不出使用一种标准比另一种标准有什么优势。

===============>>#11 票数:0

我认为使用XHTML还是纯HTML都不重要。 最终目标是通过可预测的渲染降低维护成本并快速开发。 只要您具有验证代码,就可以通过使用xhtml或html来获得它。 我什至听到过有人争辩说最好以快速模式为目标,因为新版本的浏览器不会更改快速模式,因此维护很容易。

最后,由于充分的原因,所有这些都变成了标签汤,因为让Web应用程序开发人员编写无错误的html意味着要求他们编写无错误的代码。 验证器没有帮助,因为它们仅验证初始页面视图。 这也是为什么我从未见过xhtml的要点用作静态站点以外的任何内容的xml的原因。 由于xml令人震惊,Web应用程序开发人员需要为自己的Web应用程序提供服务的傲慢程度。

===============>>#12 票数:0

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

XHTML是基于XML的,因此它可以简化解析,您还可以使用大多数IDE的XML组件以编程方式查询和插入内容。

相较于通常可以是PITA的“严格”,“过渡”不像“严格”那样严格,这使得使用它相对容易。 过渡与严格的比较

1.0比1.1更“兼容”,而1.1似乎仍在发展中。

===============>>#13 票数:0

我的目标是XHTML 1.0 Trans。 最好保持一致,这样,当浏览器中的错误被修复时,您就不会突然不停地努力找出实际需要更改的内容。

在我看来,1.1很烂,而2.0已被砸到铁匠铺上:我真的需要/想要页眉/页脚标签吗?

===============>>#14 票数:-1

HTML 4.0严格或ISO HTML。

  ask by sparkes translate from so

未解决问题?本站智能推荐: