我应该从HTML还是XHTML开始?

Jas*_*lad 17 html xhtml

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

jps*_*ons 23

在这一点上,传统智慧已经完全圆了.回到2002年,每个人都对XHTML赞不绝口,但很多人(包括我自己)都没有充分的理由.这只是很酷的新东西,大家都纷纷跟进,开始把XHTML在他们的简历的技巧,而不是仅仅HTML它看起来如此平淡和不起眼.

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

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

精读

  • IE不理解'application/xhtml + xml'mime类型,所以就你所关注的那样,你发送格式错误的HTML.
  • 它有点冗长.<br>并且<table cellspacing=0 cellpadding=0>被整齐好看,在我看来,比<br /><table cellspacing="0" cellpadding="0">.

XHTML必须有一些我缺少的优点,但是我自己现在使用HTML来做所有事情.


Bal*_*usC 14

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

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

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Page title</title>
    </head>
    <body>
        <h1>Heading</h1>
        <p>Paragraph</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

HTML 5元素都没有被广泛尚不支持,因此建议用HTML 4.01元素坚守.HTML 5 doctype在大多数浏览器中触发标准模式,包括IE6.HTML5的另一个好处是它允许关闭像XHTML中的短标签.另请参阅HTML5规范第3.2.2节:

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

基本上,即使你编写 XHTML,使用<!DOCTYPE html>仍然会使它有效(并在正确的标准模式下触发webbrowsers).

  • D'哦.我没有说"HTML 5元素",我只是说"HTML 5 doctype". (3认同)
  • 很好,你的答案赞美我的答案."基于XML的工具"是我缺少的部分. (3认同)

Dav*_*und 11

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

  • 有人不同意:http://hixie.ch/advocacy/xhtml (16认同)
  • @Daniel:实际上,这正是他所说的.他解释说,XHT​​ML作为text/html是坏的,IE6不支持XHTML + HTML.使用XHTML会丢失一些便利(如HTML实体; XHTML实体不同).没有理由使用XHTML.XHTML 2已经死亡,而XHTML 5只是出于兼容性原因而已经存在使用XHTML. (13认同)
  • HTML是一种定义良好的语言,就像XHTML一样.没有什么比这更草率的了.任何一个都可以实现错误并成为无效的"标签汤". (8认同)
  • 大多数即使不是所有经验丰富的开发人员也不会同意你的意见,新手类型,是的,他们肯定会同意. (2认同)