第六天:选择 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