我們經常看到<!DOCTYPE ...>
如下:!DOCTYPE的功能是什麼?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
什麼的!DOCTYPE
的功能?
我們經常看到<!DOCTYPE ...>
如下:!DOCTYPE的功能是什麼?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
什麼的!DOCTYPE
的功能?
DOCTYPE最重要的用途是switch a browser between Quirks Mode and Standards Mode rendering。
此功能是由於舊版本IE中的「損壞」渲染而產生的。人們意識到,如果微軟只是「固定」IE瀏覽器渲染引擎,很多現有的網站將無法正常渲染。所以它的工作方式是,如果你在頁面中全部放入任何有效的DOCTYPE聲明,那麼假設你知道你在做什麼,並且你的瀏覽器將以符合標準的方式呈現,並且如果你沒有放置一個它會以舊的「錯誤」方式渲染。
這最初是在IE瀏覽器中爲Mac完成的,但這種行爲在IE5以後的所有版本以及Firefox,Chrome,Safari和Opera中都是一樣的。
什麼DOCTYPE是假設是Document Type Definition。 HTML是SGML的子集(與XML一樣)。 DTD告訴解析器你正在使用哪種語法。因此,在網頁中,您的DOCTYPE應該與您使用的HTML版本匹配。
它告訴驗證者您使用的是哪個版本的HTML。瀏覽器使用此信息正確呈現頁面。
下面是DOCTYPE的正確版本:
HTML 4.01嚴格,過渡,框架集
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0嚴格,過渡,框架集
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
HTML5
<!DOCTYPE html>
它告訴你的瀏覽器,它加載使得加載時間有點快的瀏覽器知道會發生什麼,其HTML的版本。
doctype是由w3c定義的標準 - 當您聽到有關基於標準的Web開發時,這就是他們正在談論的內容。使用doctype的想法是您創建遵循doctype的有效HTML。
如果你很聰明,你實際上可以編寫自己的文檔類型。
DOCTYPE的主要(實用)目的是強制IE從「怪癖模式」到「符合標準的模式」,這兩種模式都是針對「可怕破碎模式」和「輕微破碎模式」(分別)的委婉語。
所以「xhtml1-transitional.dtd」是指怪癖模式還是標準模式? – Ricky 2009-11-30 09:32:40
所有有效的文檔類型(包括XHTML 1.0 Transitional)都將導致頁面以標準模式顯示。但是,如果doctype被忽略,頁面將以怪癖模式顯示。 – 2009-11-30 09:34:30