HTML文档类型<DTD>
选择合适的DTD
一个标准的XHTML文档,必须以Doctype标签作为开始,Doctype是document type(文档类型)的简写,doctype用于定义文档类型,很多莫名其妙的问题就和文档类型选择有关。对于XHTML而言,可以选择三种不同的XHTML文档类型。请看下面的代码:
1
2
3
4
5
6
7
8
9
10
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--说明:该段为指定文档类型为Transitional-->
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<!--说明:该句为确定名字空间,xml中用到-->
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<!--该句是声明编码语言为UTF8-->
<
title
>标准XHTML示例</
title
>
<
link
href
=
"css/style.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
<!--link标记链接到外部CSS文件-->
</
head
>
<
body
>...</
body
>
</
html
>
|
XHTML 1.0 提供了三种 DTD声明可供选择:
1. Transitional类型:过度类型。浏览器对XHTML的解析较为宽松(但是要符合 xhtml 的写法)。完整代码如下:
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2. Strict类型:严格类型。文档中不允许使用任何表现样式的标识和属性,例如<br>。完整代码如下:
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3. Frameset类型:框架页类型。网页使用框架结构时,声明此类型。完整代码如下:
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
选择哪个的DOCTYPE?
一般建议使用过渡类型DTD,这也是大多数网站的选择,因为这样可以使用表现层的标识、元素和属性,也比较容易通过W3C 的代码校验。有很初学者遇到多莫名其妙的问题,折腾很久找原因最后发现是DTD类型问题。
注意:
DOCTYPE 声明必须放在每一个 XHTML文档最顶部,在所有代码和标识之上。