html与xhtml的不同
XHTML 与 HTML 4.01 标准没有太多的不同
(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 语法。
这是错误的:
<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"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 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。
如果在某元素中使用 lang 属性,就必须添加额外的 xml:lang,像这样:
<div lang="no" xml:lang="no">Heia Norge!</div>所有 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
