第六天:选择 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 。明天你就会知道为什么了。

延伸阅读