第六天:选择 DOCTYPE
就像句子的开头会用大写字母一样, HTML 也以 DOCTYPE
开头;这是最基本的文法。
谁因此获益?
你从中获益了。因为你必须先知道你所使用的 HTML 版本,才能够在日后的课程中,选择适当的步骤来套用那些诀窍。所以请把它找出来,没有的话就加上去。
怎么做
你可能已经设定好 DOCTYPE
了。请检查你的网页源码, DOCTYPE
(如果有的话)应该在很上面,甚至在 <html>
标签之前。
- 如果你用了 Movable Type 的预设模版,
DOCTYPE
也许会是“XHTML 1.0 Transitional
”。这样很好。 - 如果你用的是 Radio Userland 、 Manila 或 Blogger 的预设模版的话,
DOCTYPE
也许会是“HTML 4.01 Transitional
”。这也很好。 - 其他有效的
DOCTYPE
像是“HTML 4.01 Strict
”、“XHTML 1.0 Strict
”、“XHTML 1.1
”等等,也都很好。
如果你已经设定好 DOCTYPE
的话,就不用改它了。但是如果在你源码中的 <html>
前面没有 DOCTYPE
的话,请加上这些:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
基于技术上的考量,我不想在此深入探讨细节(如果有兴趣的话,请看“延伸阅读”部分);你可能会发现加入 DOCTYPE
之后,页面排版有点小变化。如果不幸发生了,你也可以使用折衷的 DOCTYPE
来代替,就像这样:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
请注意,网站上所有的页面都必须包含 DOCTYPE
;所以你得检查所有的模版。
- Movable Type 的使用者必须检查“主要索引 (Main Index) ”、“主要汇整页面 (Master Archive Index) ”、“分类汇整 (Category Archive) ”、“按时汇整 (Date-Based Archive) ”、“单篇汇整 (Individual Entry Archive) ”模版,以及你手动建立的其他汇整模版。
- Radio Userland 与 Manila 的使用者则必须检查“ Main template ”跟“ Home page template ”。
- Greymatter 的使用者则必须检查“ Main Index-Related Templates ”、“ Archive-Related Templates ”,以及“ Entry-Related Templates ”。
- Blogger 的使用者必须在主要模版加上
DOCTYPE
。如果你的“ Archive template ”是分散的页面(就是说,如果在最上方有<html>
标签的话),也需要加上DOCTYPE
。
你得知道所使用的是 HTML 4
(任何版本)、 XHTML 1.0
(任何版本)还是 XHTML 1.1
。明天你就会知道为什么了。
延伸阅读
- A List Apart:Fixing Your Site With The Right DOCTYPE
- MSDN:Quirks mode in IE 6 (注意:某些版本的 Netscape 跟 Mozilla 无法浏览这个网站;这是 Microsoft 的问题,不是我。)
- Quirks mode in Mozilla