HTML版本选择[关闭]
Posted
技术标签:
【中文标题】HTML版本选择[关闭]【英文标题】:HTML version choice [closed] 【发布时间】:2010-09-05 10:37:23 【问题描述】:在开发基于 Web 的新应用程序时,您应该针对哪个版本的 html?
编辑:
很酷,我只是想从其他人那里获得一种感觉,我倾向于在我自己的工作中使用 XHTML 1.0 Strict,而当其他人参与内容创建时使用 Transitional。
我将第一个 XHTML 1.0 过渡帖子标记为“正确答案”,但我坚信当时给出的所有答案都同样有效。
【问题讨论】:
【参考方案1】:我会为 XHTML Transitional 1.0 拍摄。仍然存在一些不喜欢严格的 XHTML 的细微差别,而且我现在见过的大多数编辑器都会给你适当的推动,以确保事情做得正确。
【讨论】:
不确定 developer.mozilla.org/en/…> 的最新程度如何,但如果 Firefox 仍然如此,XHTML 1.0 过渡版会将 Firefox 置于几乎标准模式而不是完全标准模式。跨度> 没有一个令人信服的理由支持 XHTML 而不是 HTML。【参考方案2】:无论您使用哪种流行标准,任何呈现您的页面的东西都会这样做。 XHTML 更严格,可能“更好”,但我看不出使用一种标准比另一种标准有什么优势。
【讨论】:
【参考方案3】:就个人而言,我更喜欢 XHTML 1.0 Transitional。
XHTML 是基于 XML 的,因此它可以更轻松地进行解析,并且您还可以使用大多数 IDE 的 XML 组件以编程方式查询和插入内容。
Transitional 没有 strict 严格,这使得它相对容易使用,而 strict 通常可以是 PITA。 Comparison between Transistional and Strict
1.0 比 1.1“更兼容”,而 1.1 似乎仍在某种开发中。
【讨论】:
【参考方案4】:Dillie-O 对 XHTML 1.0 Transitional 的回答是正确的,但我建议为 XHTML 1.0 Strict 拍摄,并且仅在您绝对需要 Strict 不允许的某些功能时才使用 Transitional。
【讨论】:
【参考方案5】: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 工具中产生错误,因为它们具有无效的标记。
【讨论】:
【参考方案6】:我的目标是 XHTML 1.0 Trans。最好保持一致,这样当浏览器中的错误得到修复时,您就不会突然争分夺秒地试图找出实际需要更改的内容。
在我看来,1.1 已经过时了,而 2.0 已经被粉碎了:我真的需要/想要页眉/页脚标签吗?
【讨论】:
【参考方案7】:@迈克:
虽然我同意渲染页面不需要有效性(毕竟,我们必须保持 IE6 兼容性...),但创建兼容且有效的有效 XHTML 不是问题。当人们习惯了 HTML 4 并使用过时的标签和属性时,问题就开始了。
仅仅因为网络是一堆废话并不意味着每个新页面也需要是一堆废话。 SO 上的大多数验证错误都是微不足道的,应该不会花费太长时间来修复,比如属性上缺少引号。
但这可能仍然有点毫无意义,因为 W3C 不知道他们想去哪里(参见 HTML 5),而且某家也制造操作系统的大型浏览器公司并不关心好吧,所以一个网站也可以发送它的 doctype,因为 HTML 1337 Sucks 并且浏览器仍然会尝试呈现它。
【讨论】:
【参考方案8】:我每次都支持 XHTML Strict。我坚信 HTML 应该更像 XML。如果您了解 XML,验证它并不难,而且 W3 的验证器 i 指出您在正确的轨道上。
XHTML 2.0 正朝着 W3 长期以来的目标迈进——语义网。 XHTML 2.0 对我来说最大的好处是,Web 上的每个符合标准的页面都可以作为内容或文章(因为这就是页面是什么——文档)而被理解,因为它们都适用于相同的标准。然后,您将能够构建以完全不同的方式呈现内容的解释器(即浏览器)——实际上有成千上万的想法在这里等待。
【讨论】:
【参考方案9】:关于 XHTML 的使用有一些 compellingwarnings,主要围绕这样一个事实,即此类文档的 mime-type 应发送为:
Content-type: application/xhtml+xml
然而 IE 6 和 7 不支持这个,然后网站必须将其发送为:
Content-type: text/html
不幸的是,该方法是considered harmful。
有些人还感到遗憾的是,尽管 XHTML 的目的是使网页可以被 XML 解析器解析,但由于在现有网站上的不正确使用,它在实践中失败了。
我仍然更喜欢用 XHTML 1.0 Strict 编写文档,主要是因为挑战,以及 cleanliness 和 validator 提供的错误检查。我更喜欢这种语法,因为它迫使我在标签结束时非常明确,等等。这对我来说更多的是个人选择,而不是纯粹的技术。
【讨论】:
“我更喜欢这种语法,因为它迫使我在标签结束时非常明确,等等。”好吧,大多数时候,没有什么能强迫你这样做,而且你总是可以编写 99% 'xml 有效'的 HTML。 编写良好的 HTML4 也同样干净,并且也有验证器。你确定你不只是喜欢跟上 XML 的潮流吗?【参考方案10】:Transitional 风格的 XHTML 和 HTML 已被弃用。它们仅适用于不支持 CSS 的旧用户代理。见explanation in the 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 年,只有 one version of HTML 很重要。
<!DOCTYPE html>
【讨论】:
【参考方案11】:如果您想以与 HTML 兼容的方式使用 XHTML 1.0,那很好。但是,请注意 W3C 验证器和 XHTML DTD 对 mime 类型以及浏览器如何在它们之间进行不同的行为(如
这意味着 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="" /></p>
<p><input type="text"/></p>
<p><embed type="application/x-something" src=""/></p>
</body>
</html>
然后,使用http://validator.nu/ 至少确保其格式正确。
【讨论】:
【参考方案12】:我认为使用 XHTML 还是纯 HTML 并不重要。这里的最终目标是通过可预测的渲染实现低维护和快速开发。只要您有验证代码,您就可以通过使用 xhtml 或 html 来获得它。我什至听说过最好针对 quirks 模式的争论,因为新版本的浏览器不会更改 quirks 模式,因此维护起来很容易。
最终,这一切都变成了标签汤,这是有充分理由的,因为让 Web 应用程序开发人员编写无错误的 html 意味着要求他们编写无错误的代码。验证器没有帮助,因为它们只验证初始页面视图。这也是为什么我从来没有看到 xhtml 中的点作为 xml 用于静态站点之外的任何东西。 Web 应用程序开发人员需要为他们的 Web 应用程序提供服务所需的傲慢程度,因为 xml 是惊人的。
【讨论】:
【参考方案13】:HTML 4.0 Strict 或 ISO HTML。
【讨论】:
你看过ISO HTML的规范吗?它比其他任何东西都更受限制。【参考方案14】:如果您有生成 XHTML 的工具,就像任何其他 XML 文档一样,那么请使用 XHTML。但是当您只使用纯文本模板、文本连接等时,您可以使用良好的旧 HTML 4.01。
浏览器现在开始支持这个已有 10 年历史的标准。
重要:Avoid being called a bozo when producing XML
【讨论】:
以上是关于HTML版本选择[关闭]的主要内容,如果未能解决你的问题,请参考以下文章