Html 4.01规范:
1、<html>元素:必不可少的元素之一
网页总是以一个DOCTYPE开始,紧接着,<html>元素必须出现在网页的开头和结尾。因此,在DOCTYPE之后,网页的<html>标记开始,以</html>标记结束,而网页的其他东西都包含在里面。
2、使用<head>和<body>让你的网页更好。
只有<head>元素和<body>元素可以直接包含于<html>元素,也就是其他任何元素都必须毫无例外地包含于<head>元素或<body>元素。
3、<head>元素里没有<title>元素会怎么样?
我们总是给<head>元素一个<title>元素,这里规则。不这么做将导致HTML不合法。<head>元素是可以放置<title>元素,<meta>元素和<style>元素的唯一地方。
4、只使用有用的块元素填充<body>
只能在<body>元素里直接放置块元素(<h1>,<h2>,...,<h6>,<p>,<blockqoute>等)。所有的内联元素和文本都必须在块元素中才能运行。
5、让块元素远离内联元素
只有文本和其他内联元素可以嵌入内联元素中。块元素在任何情况下都不允许包含在内联元素里。
6、块元素禁止包含在<p>元素之中
只有文本才能组成段落,所以块元素不允许包含在<p>元素中。当然,只要你喜欢,可以在段落里使用所有的内联元素(<em>,<a>,<strong>,<img>,<q>等)
7、列表只能包括列表项目
只有<li>元素允许放在<ul>元素和<ol>元素里。因此,只有列表项才能放在有序或无续列表里。
8、列表项可以是任何内容
对于<li>元素的规则很宽松:你可以添加文本、内联元素或块元素到列表项里面。
9、谁知道?<blockqoute>只喜欢块元素
<blockqoute>元素中要有一个或多个块元素。文本直接包含于块引用很常见。
10、内联元素相互嵌套时要小心
可以将任意内联元嵌入到另一个内联元素中,但有两种情况例外。<a>元素决不能自嵌套,因为那样用户不易理解。另外,据规定空元素(如<img>)中不能嵌套其他内联元素。
从Html 到XHtml 1.0转换:
(下面的带红色部分为从HTML 4.01到XHTML 1.0必须实现的修改,其他为HTML 4.01的标准)
1、把DOCTYPE更改为严格的XHTML,如果还在使用过渡的HTML,则可以将它转化为过渡的XHTML;
2、添加xmlns属性、lang属性和xml:lang属性到<html>开始标记;
3、<html>标记必须是DOCTYPE之后的第一个标记,而</html>必须是文档的最后一个标记;
4、所有的元素名称必须用小写字母;
5、所有的开始标记都须对应有结束标记。如果一个元素是空的,那么它的标记必须以空格结尾,后跟 />;
6、所有属性值必须非空,并且带双引号;
7、在HTML里不能使用&,&表示实体的开始,因此,应当用& 此外,把特殊字符转化为实体;