我应该从HTML还是XHTML开始?

时间:2010-01-01 20:19:04

标签: html xhtml

首先是HTML或XHTML?我是一名初学者,希望拥有坚实的标记语言基础,但在我开始学习时,我发现有些人使用HTML和一些XHTML。

8 个答案:

答案 0 :(得分:23)

在这一点上,传统智慧已经完全圆了。回到2002年,每个人都对XHTML赞不绝口,但很多人(包括我自己)都没有充分的理由。这只是一个很酷的新事物,每个人都加入了这个潮流,开始将 XHTML 放在他们的简历技能中,而不仅仅是 HTML ,这看起来非常简单和不起作用。

现在正在发生的事情是,随着HTML5的完成,人们开始意识到优质的旧式HTML没有任何问题。这是网络的语言。以下是我看到的XHTML的优点和缺点:

<强>临

  • 允许您将非xhtml XML嵌入到您的网页中,例如SVG元素。使用纯HTML无法做到这一点。
  • 允许您使用XML解析器轻松解析文档,这样可以避免使用hpricot或BeautifulSoup,如果您想要在网站模板中用H2标记替换所有H1标记。

<强> N

  • IE不理解'application / xhtml + xml'mime类型,所以只要它关注你发送格式错误的HTML。
  • 它有点冗长。在我看来,<br><table cellspacing=0 cellpadding=0><br /><table cellspacing="0" cellpadding="0">更整洁。

我缺少XHTML必须有一些优点,但是我自己现在都在使用HTML。

答案 1 :(得分:14)

XHTML仅在您希望借助基于 XML的工具自动生成/管理/验证/等HTML代码时才有用,例如基于组件的MVC框架(例如Sun JSF,Apache Struts) ,Microsoft ASP.NET等)或使用XSLT。以编程方式解析/格式化HTML比XML更棘手,因为HTML允许此处和非关闭标记,例如, <br>。 XML更易于以编程方式进行解析/格式化,因为它必须是well-formed

如果您刚刚开始和/或手写“普通的”HTML,我建议HTML 4.01 elements使用HTML5 doctype。实际上没有必要将HTML代码按摩成XML格式。

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Page title</title>
    </head>
    <body>
        <h1>Heading</h1>
        <p>Paragraph</p>
    </body>
</html>

HTML 5 elements尚未广泛支持,因此建议坚持使用HTML 4.01元素。 HTML 5 doctype在大多数浏览器中触发标准模式,包括IE6。 HTML5的另一个好处是它允许关闭像XHTML中的短标签。另请参阅HTML5 spec chapter 3.2.2

  

作者可以选择对HTML语法中的void元素使用相同的语法。一些作者还选择在斜线之前包含空格,但这不是必需的。 (以这种方式使用空格是从XHTML 1.0附录C中的兼容性指南继承的惯例。)

基本上,即使您编写 XHTML,使用<!DOCTYPE html>仍然会使其有效(并以正确的标准模式触发webbrowsers)。

答案 2 :(得分:11)

XHTML非常像HTML,但不是草率的。我真的想不出除了懒惰以外不使用它的原因。

答案 3 :(得分:3)

当谈到学习或其他时,它们之间的确很少。 XHTML本质上是HTML的一个子集,它鼓励(或者更需要)更严格的标准 - 特别是,它是HTML标准的HTML应用程序。因此,任何有效的XHTML也是有效的HTML(至少在大多数情况下)。

在我看来,XHTML和HTML之间的区别并不那么重要。然而, 重要的是编写一致且高效的标记,这就是XHTML标准旨在鼓励的内容。无论您是将代码标记为XHTML还是HTML,只要它写得很好就没关系。

XHTML的主要特点就是它在代码中需要高标准的质量,但这是你应该在HTML 中做的事情。

答案 4 :(得分:3)

XHTML适用于那些认为XML看起来比普通HTML更“整洁”的人。

但实际上,这并不重要。你可以更快地使用一个到另一个,而不是吃午饭。

答案 5 :(得分:1)

HTML 4.01将是您最好的选择,因为分阶段学习可以让您更清楚地了解幕后和标记内部真正发生的事情。一旦您对HTML 4.01有清晰的视图和冗长的理解,您就可以转到XHTML 1.0。

答案 6 :(得分:1)

从HTML开始,但使用验证器。在HTML5中,每个人似乎都专注于HTML,而不是XHTML序列化。

  • 正如我在my answer here中解释的那样,XML的设计者希望实施更高的编码标准并使解析更容易,但这只有在几乎所有人都切换时才有效。而不是依靠您的浏览器来强制执行代码质量,而是依靠验证。
  • 由于Internet Explorer中的XHTML支持有限&lt; = 8,几乎所有人都将XHTML作为text / html提供服务。这有效地限制了您使用HTML和XHTM的子集,并要求您遵循compatibility guidelines。您可以选择基于用户代理服务的格式,但这很麻烦。

鉴于优势有限,我强烈推荐HTML,特别是如果你是初学者。

答案 7 :(得分:0)

HTML和XHTML是相同的语言,语法略有不同。一旦你知道了一个,你就会知道另一个。

真的没关系。