HTML版本的选择

yeum 发布于 2018-02-28 html 最后更新 2018-02-28 01:02 543 浏览

在开发一个新的基于Web的应用程序时,您应该瞄准哪个版本的html? 编辑: 很酷我只是试图从别人那里得到一种感觉,我倾向于在自己的工作中使用XHTML 1.0 Strict,而在其他人参与内容创建时使用Transitional。 我将第一个XHTML 1.0 Transitional帖子标记为“正确答案”,但强烈认为在那一点上给出的所有答案同样有效。

已邀请:

riure

赞同来自:

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

ut_et

赞同来自:

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

mid

赞同来自:

就个人而言,我更喜欢XHTML 1.0 Transitional。 XHTML是基于XML的,所以它允许更容易的解析,并且您还可以使用大多数IDE的XML组件来编程查询和插入东西。 与严格相比,过渡并不像严格那样严格,这使得它相对容易处理,相比之下,PITA常常是严格的。 Comparison between Transistional and Strict 1.0比1.1更“相容”,1.1似乎仍处于某种发展阶段。

hquia

赞同来自:

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

et_et

赞同来自:

HTML 4.01。绝对没有理由将XHTML用于除了实验性或学术性问题之外的任何事情,而您只希望在“隐蔽”的Web浏览器上运行这些问题。 XHTML Transitional对于那些浏览器完全没有意义,所以我不确定为什么有人会为此目标而努力。实际上,很多人会推荐这一点非常令人震惊。 我认为瞄准HTML 4.01是最可预测的,但Teifion确实是对的,“任何渲染你的页面都会做的事情”。 以响应Michael Stum

XHTML is XML based, so it allows easier parsing and you can also use the XML Components of most IDEs to programatically query and insert stuff.
这当然不是真的。 Web上的许多XHTML(如果不是大多数)不符合XML有效性(并且它不需要 - 它不会作为XML发送)。试图在处理它时像XML一样处理这个问题只会给你带来很多令人头疼的问题。举例来说,这个关于Stack Overflow的页面会因许多不合格的XML工具产生错误,导致无效的标记。

hid

赞同来自:

我的目标是XHTML 1.0 Trans。在浏览器中修复错误时,最好不要突然跟着时钟工作,试图找出实际需要改变的东西。 在我看来,1.1是borked,2.0已被粉碎成碎片:我真的需要/需要页眉/页脚标签吗?

mid

赞同来自:

虽然我同意有效性不需要进行页面渲染(毕竟,我们必须保持IE6的兼容性......),但创建有效的XHTML兼容并且有效并不是问题。当人们习惯使用HTML 4并使用折旧标签和属性时,问题就开始了。 仅仅因为Web是一堆垃圾并不意味着每个新页面都需要成为一堆废话。 SO上的大多数验证错误是如此微不足道,不应该花太长时间修复,就像缺少属性的引号一样。 但它可能仍然没有意义,因为W3C无论如何都不知道他们想要去哪里(请参阅HTML 5),而且某个大型浏览器公司也使得操作系统并不在意,所以一个网站可以发出它的文档类型为HTML 1337 Sucks,浏览器仍然会尝试呈现它。

godio

赞同来自:

每一次我都严格遵守XHTML。我坚信HTML应该更像XML。如果您知道XML并且W3的验证程序使您处于正确的轨道,那么验证它并不难。 XHTML 2.0正朝着W3已经长期瞄准的目标迈进 - 语义网络。对我来说,XHT​​ML 2.0的最大好处是,网页上的每一个符合标准的页面都可以理解为内容或文章(因为这是页面 - 文档),因为它们都适用于相同的标准。然后,您将能够构建以完全不同的方式呈现内容的英文解释器(即浏览器) - 这里有成千上万的想法在等待着。

xillum

赞同来自:

关于XHTML的使用,有一些compelling warnings,主要集中在这样一个事实上,即这样一个文档的MIME类型应该作为: Content-type: application/xhtml+xml 然而,IE 6和7不支持这一点,然后网站必须发送它为: Content-type: text/html 不幸的是,这种方法是considered harmful。 有些人还怀疑,尽管XHTML的目的是使网页能够被XML解析器解析,但实际上由于现有网站上的不正确使用而失败。 我仍然倾向于使用XHTML 1.0 Strict编写文档,主要是因为面临挑战,cleanlinessvalidator给出的错误检查。我喜欢这种语法,因为它强制我在标签结束时非常明确,等等。对于我来说,这比单纯的技术更适合个人选择。

jneque

赞同来自:

不推荐使用XHTML和HTML的过渡风格。它们仅适用于不支持CSS的旧用户代理。请参阅explanation in the DTD。 W3C建议您应尽可能使用Strict,而这些日子肯定有可能。 过渡版本已经在XHTML/1.1和HTML5中被删除。


XHTML/1.0与HTML4具有完全相同的元素和属性(语义)。 XHTML/1.0规范甚至没有指定任何元素!除语法之外,它指的是HTML4。 此外,如果您将文档作为text/html发送,并且与IE和其他仅支持HTML的浏览器兼容所需的不可用功能,则无法使用HTML中没有的任何XHTML功能(名称空间,XML DOM)。 在2008年,正确的选择将是HTML4 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
但截至2016年,只有one version of HTML重要。
 <!DOCTYPE html>

eomnis

赞同来自:

如果您想以兼容HTML的方式使用XHTML 1.0,那很好。但是,请注意W3C验证程序和XHTML DTD对mime类型以及浏览器在它们之间的行为方式(例如< map>名称/ id匹配)不知情。 DTD不知道浏览器对某些元素的支持程度如何(例如< embed>)。 这意味着XHTML DTD和验证器不能反映现实,试图遵守它们是毫无意义的。 如果您只想使用XHTML,那么您可以使用/>(其中html兼容)关闭某些元素,只需使用HTML5标记(以便浏览器处于完全标准模式)即可。 HTML5允许使用/>以HTML兼容的方式(与使用带有text/html的XHTML 1.0标记相同的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/确保它至少形成良好。

wiusto

赞同来自:

我不认为它实际上是否使用XHTML或纯HTML。这里的最终目标是通过可预测的渲染实现低维护和快速开发。只要你有验证代码,你可以使用xhtml或html来获得。我甚至听说过最好瞄准怪癖模式,因为新版本的浏览器不会改变怪癖模式,所以维护很容易。 最终,这一切都成为标签汤,原因很明显,因为让Web应用程序开发人员编写无错误的HTML意味着要求他们编写无错代码。验证器没有帮助,因为它们只验证初始页面视图。这也是为什么我从来没有在xhtml中看到任何超出静态网站的地位。 Web应用程序开发人员需要用XML来提供他们的Web应用程序的傲慢程度令人咋舌。

baut

赞同来自:

HTML 4.0 Strict或ISO HTML。

wodio

赞同来自:

如果您有像其他任何XML文档一样生成XHTML的工具,请使用XHTML。但是,当您只使用纯文本模板,文本串联等时,您可以使用良好的旧版HTML 4.01。 浏览器现在开始支持这个10年前的标准。 重要提示:Avoid being called a bozo when producing XML