在較早之前的網頁上,我們經??梢钥吹饺缦碌木W頁結構代碼:
<html>
<head>
<title>這是一個網頁</title>
<meta name=”…” content=”…” />
……
</head>
<body>
……
</body>
</html>
很顯然的,這種結構的網頁代碼是不符合web標準規范的,但是瀏覽器仍然可以很好的呈現出這個網頁來,只要代碼沒出什么錯誤。這個其實就像是用table布局的頁面跟div構架的頁面一樣,瀏覽器都可以呈現出來,關健是哪個頁面呈現的質量會更高。
做出一個頁面,跟做好一個頁面,中間有著很遙遠的距離。
在瀏覽器的發展歷程中,微軟憑借著將internet explorer捆綁進windows操作系統中,從來成為瀏覽器市場上的霸主,從而也造成了一系列的ie對w3c組織所制定的web標準于不顧的事情,微軟的ie一直都只遵循自家的web標準。很慶幸的是,微軟決定在他的ie8中支持web標準,雖然這事還沒最終確定。除微軟的ie外,mozilla firefox、apple safari、opera、chrome等瀏覽器則以支持web標準的名義與ie做得長久的對抗。
瀏覽器的不同,于是就造成了對html代碼默認解析的不同,所以即使同樣的代碼在不同的瀏覽器下也可能呈現出不同的樣式來,于是這就需要有一份眾瀏覽器都遵循的規則來協調眾瀏覽器之間的差異,這份規則需要一個聲明來引用它,這個聲明就是doctype——document type(文檔類型)。
doctype聲明是標準網頁中必不可少的部分,所以,想要制作一個符合w3c標準的網頁,首先就需要為這個頁面聲明一個文檔類型。
doctype所聲明的dtd(文檔類型定義)分為三種,分別是:
transitional(過渡的):要求不是很嚴格的dtd,允許你繼續在頁面中使用html4.01的標簽;
strict(嚴格的):這是制作頁面時理想的dtd方式,但是這個文檔類型定義不允許使用任何的表現層上的標簽和屬性;
frameset(框架的):這個專門針對頁面設計中包含有框架的dtd。
由于框架型的設計可能對網頁在搜索引擎中收錄的影響,很多網頁中都不使用框架設計;而strict的dtd對于大多數人來說還只是一種理想化的方式;transitional型的dtd則是目前最適用也是使用最廣泛的文檔類型定義。
現在隨便打開一個符合web標準的網頁,都可以在頁面的最開始處看到這樣一句聲明:
<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en” “http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd”>
這是一個關于xhtml網頁文檔的doctype聲明。當然并不是說doctype聲明只能針對xhtml網頁文檔,對于使用html4.01的網頁文檔來說,同樣可以使用doctype聲明:
過渡的dtd:
<!doctype html public “-//w3c//dtd html 4.01 transitional//en” “http://www.w3.org/tr/html4/loose.dtd”>
嚴格的dtd:
<!doctype html public “-//w3c//dtd html 4.01//en” “http://www.w3.org/tr/html4/strict.dtd”>
唯一需要注意的是,doctype聲明的位置必須是位于頁面的最開始處,在doctype聲明代碼之前不能出現任何的代碼或是標簽,否則頁面中的標簽或是css樣式可能會失效。
新聞熱點
疑難解答