1. 编写xhtml代码需要纯净的html语法。
2. 更多的xhtml语法规则:
2.1. 属性名称必须小写
2.2. 属性值必须加引号
2.3. 属性不能简写
2.4. 用id属性代替name属性
2.5. xhtml dtd定义了强制使用的html元素
2.6. xhtml元素必须正确嵌套
2.7. xhtml元素必须始终关闭
2.8. xhtml元素必须小写
3. 属性名称必须小写
3.1. 这是错误的:
<table WIDTH="100%">
3.2. 这是正确的:
<table width="100%">
4. 属性值必须加引号
4.1. 这是错误的:
<table width=100%>
4.2. 这是正确的:
<table width="100%">
5. 属性不能简写
5.1. 这是错误的:
<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>
5.2. 这是正确的:
<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />
5.3. 下面是一个html的简写属性列表, 以及在xhtml中的改写:
6. 用id属性代替name属性
6.1. html 4.01针对下列元素定义name属性: a, applet, frame, iframe, img, 和map。
6.2. 在xhtml中不鼓励使用name属性, 应该使用id取而代之。
6.3. 这是错误的:
<img src="picture.gif" name="picture1" />
6.4. 这是正确的:
<img src="picture.gif" id="picture1" />
6.5. 重要的兼容性提示: 你应该在"/"符号前添加一个额外的空格, 以使你的xhtml与当今的浏览器相兼容。
7. xhtml元素必须正确嵌套
7.1. 在html中, 某些元素可以不正确地彼此嵌套在一起, 就像这样:
<b><i>This text is bold and italic</b></i>
7.2. 在xhtml中, 所有元素必须正确地彼此嵌套, 就像这样:
<b><i>This text is bold and italic</i></b>
8. xhtml元素必须始终关闭
8.1. 这是错误的:
<p>This is a paragraph
<p>This is another paragraph
8.2. 这是正确的:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
9. 空元素也必须关闭(<hr>, <br>和<img>)
9.1. 这是错误的:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
9.2. 这是正确的:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
9.3. 在xhtml中是不允许使用空标签(Empty tags)的。<hr>和<br>标签应该被替换为<hr />和<br />。这样做又产生了一个新问题, Netscape会误读<br/>标签。我们不清楚原因所在, 不过将之改为<br />后就没有问题了。
10. xhtml元素必须小写
10.1. 这是错误的:
<BODY>
<P>This is a paragraph</P>
</BODY>
10.2. 这是正确的:
<body>
<p>This is a paragraph</p>
</body>
11. 强制使用的xhtml元素
11.1. 所有xhtml文档必须进行文件类型声明(DOCTYPE declaration)。在xhtml文档中必须存在html、head、title、body元素, 而title元素必须位于在head元素中。
11.2. 下面是一个最小化的xhtml文件模板:
<!DOCTYPE Doctype goes here>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title goes here</title>
</head>
<body>
</body>
</html>
11.3. 文件类型声明并非xhtml文档自身的组成部分。它并不是xhtml元素, 也没有关闭标签。
11.4. 在xhtml中, <html>标签内的xmlns属性是必需的。然而, 即使当xhtml文档中没有这个属性时, w3.org 的验证工具也不会提示错误。这是因为, “xmlns=http://www.w3.org/1999/xhtml”是一个固定的值, 即使你没有把它包含在代码中, 这个值也会被添加到 <html> 标签中。