html与xhtml的不同

html与xhtml的不同

XHTML 与 HTML 4.01 标准没有太多的不同

XHTML 是什么?

  • XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
  • XHTML 的目标是取代 HTML。
  • XHTML 与 HTML 4.01 几乎是相同的。
  • XHTML 是更严格更纯净的 HTML 版本。
  • XHTML 是作为一种 XML 应用被重新定义的 HTML。
  • XHTML 是一个 W3C 标准。

(1)XHTML 元素必须被正确地嵌套

在 HTML 中,某些元素可以像这样彼此不正确地嵌套:

<b><i>This text is bold and italic</b></i>

在 XHTML 中,所有的元素必须像这样彼此正确地嵌套:

<b><i>This text is bold and italic</i></b>

提示:在嵌套列表中一个容易犯的错误,是忘记内部列表必须位于 li 元素中,就像下面这样:

这是错误的:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  <li>Milk</li>
</ul>

这是正确的:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
</ul>

注意:在正确代码的例子中,我们在 </ul> 之后插入了一个 </li> 标签。


2,XHTML 元素必须被关闭,非空标签必须使用结束标签。

这是错误的:

<p>This is a paragraph
<p>This is another paragraph

这是正确的:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

空标签也必须被关闭

空标签也必须使用结束标签,或者其开始标签必须使用/>结尾。

这是错误的:

A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">

这是正确的:

A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
3, XHTML 元素必须小写,XHTML 规范定义:标签名和属性对大小写敏感。

这是错误的:

<BODY>
<P>This is a paragraph</P>
</BODY>

这是正确的:

<body>
<p>This is a paragraph</p>
</body>
4, XHTML 文档必须拥有一个根元素

所有的 XHTML 元素必须被嵌套于 <html> 根元素中。其余所有的元素均可有子元素。子元素必须是成对的且被嵌套在其父元素之中。基本的文档结构如下:

<html>
<head> ... </head>
<body> ... </body>
</html>
5,

编写 XHTML 代码需要纯净的 HTML 语法。

更多的 XHTML 语法规则:

  • 属性名称必须小写
  • 属性值必须加引号
  • 属性不能简写
  • 用 Id 属性代替 name 属性
  • XHTML DTD 定义了强制使用的 HTML 元素

属性名称必须小写

这是错误的:

<table WIDTH="100%">

这是正确的:

<table width="100%">

属性值必须加引号

这是错误的:

<table width=100%>

这是正确的:

<table width="100%">

属性不能简写

这是错误的:

<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>

这是正确的:

<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />

下面是一个 HTML 的简写属性列表,以及在 XHTML 中的改写:

HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

用 id 属性代替 name 属性

HTML 4.01 针对下列元素定义 name 属性:a, applet, frame, iframe, img, 和map。

在 XHTML 中不鼓励使用 name 属性,应该使用 id 取而代之。

这是错误的:

<img src="picture.gif" name="picture1" />

这是正确的:

<img src="picture.gif" id="picture1" />

重要的兼容性提示:

你应该在 "/" 符号前添加一个额外的空格,以使你的 XHTML 与当今的浏览器相兼容。

语言属性(lang)

lang 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。

如果在某元素中使用 lang 属性,就必须添加额外的 xml:lang,像这样:

<div lang="no" xml:lang="no">Heia Norge!</div>

强制使用的 XHTML 元素

所有 XHTML 文档必须进行文件类型声明(DOCTYPE declaration)。在 XHTML 文档中必须存在html、head、body元素,而 title 元素必须位于在 head 元素中。

下面是一个最小化的 XHTML 文件模板:

<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>

<body>
</body>

</html>

提示:文件类型声明并非 XHTML 文档自身的组成部分。它并不是 XHTML 元素,也没有关闭标签。

提示:在 XHTML 中,<html> 标签内的 xmlns 属性是必需的。然而,即使当 XHTML 文档中没有这个属性时,w3.org 的验证工具也不会提示错误。这是因为,"xmlns=http://www.w3.org/1999/xhtml" 是一个固定的值,即使你没有把它包含在代码中,这个值也会被添加到 <html> 标签中。

原文连接:http://www.w3school.com.cn/xhtml/xhtml_html.asp

猜你喜欢

转载自blog.csdn.net/Ape55/article/details/70157532