佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 有沒有仔細(xì)了解過標(biāo)簽 它是如何定義如何使用

有沒有仔細(xì)了解過標(biāo)簽 它是如何定義如何使用

熱門標(biāo)簽:網(wǎng)站建設(shè) 檢查注冊表項(xiàng) 硅谷的囚徒呼叫中心 阿里云 美圖手機(jī) 百度競價點(diǎn)擊價格的計(jì)算公式 使用U盤裝系統(tǒng) 智能手機(jī)
前言
今天被問道“有沒有仔細(xì)了解過<!DOCTYPE>標(biāo)簽?”,愣了一下,因?yàn)橐婚_始在W3cschool上看到過建議使用XHTML Transitional DTD,之后就很聽話地把Dreamweaver的HTML文檔類型默認(rèn)設(shè)置為XHTML 1.0 Transitional。之后就理所當(dāng)然地一直用到現(xiàn)在了。人這東西還真是,越長大就越懶了,很多東西都被潛意識地當(dāng)成了理所當(dāng)然。既然已經(jīng)被問及,就去找了找資料,總結(jié)了一下,權(quán)當(dāng)做筆記吧~~

<!DOCTYPE>的定義
<!DOCTYPE>聲明位于文檔中的最前面的位置,處于<html>標(biāo)簽之前。此標(biāo)簽可告知瀏覽器文檔使用哪種HTML或XHTML規(guī)范。
該標(biāo)簽可聲明三種DTD類型,分別表示嚴(yán)格版本、過渡版本以及基于框架的HTML版本。(假如文檔中的標(biāo)記不遵循doctype聲明所指定的DTD,這個文檔除了不能通過代碼校驗(yàn)之外,還有可能無法在瀏覽器中正確顯示。)

<!DOCTYPE>的用法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">解析:在上面的聲明中,聲明了文檔的根元素是 html,它在公共標(biāo)識符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進(jìn)行了定義。瀏覽器將明白如何尋找匹配此公共標(biāo)識符的 DTD。如果找不到,瀏覽器將使用公共標(biāo)識符后面的 URL 作為尋找 DTD 的位置。
- : 表示組織名稱未注冊。Internet 工程任務(wù)組(IETF)和萬維網(wǎng)協(xié)會(W3C)并非注冊的 ISO 組織。
+為默認(rèn),表示組織名稱已注冊。
DTD :指定公開文本類,即所引用的對象類型。 默認(rèn)為DTD。
HTML :指定公開文本描述,即對所引用的公開文本的唯一描述性名稱。后面可附帶版本號。默認(rèn)為HTML。
URL :指定所引用對象的位置。
Strict:排除所有 W3C 專家希望逐步淘汰的代表性屬性和元素。

三種HTML文檔類型:
HTML 4.01 規(guī)定了三種文檔類型:Strict、Transitional 以及 Frameset。
a ) 如果需要干凈的標(biāo)記,免于表現(xiàn)層的混亂,用HTML Strict DTD類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
b )Transitional DTD 可包含 W3C 所期望移入樣式表的呈現(xiàn)屬性和元素. 如果用戶使用了不支持層疊樣式表(CSS)的瀏覽器以至于你不得不使用 HTML 的呈現(xiàn)特性時,用 Transitional DTD 類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
c ) Frameset DTD 被用于帶有框架的文檔。除 frameset 元素取代了 body 元素之外,F(xiàn)rameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">

三種XML文檔類型
XHTML 1.0 規(guī)定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
a ) 如果需要干凈的標(biāo)記,免于表現(xiàn)層的混亂,用XHTML Strict DTD類型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
b )Transitional DTD 可包含 W3C 所期望移入樣式表的呈現(xiàn)屬性和元素. 如果用戶使用了不支持層疊樣式表(CSS)的瀏覽器以至于你不得不使用 HTML 的呈現(xiàn)特性時,用 Transitional DTD 類型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
c ) Frameset DTD 被用于帶有框架的文檔。除 frameset 元素取代了 body 元素之外,F(xiàn)rameset DTD 等同于 Transitional DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

選擇正確的doctype
為了獲得正確的doctype聲明,關(guān)鍵就是讓dtd與文檔所遵循的標(biāo)準(zhǔn)對應(yīng)。
例如,假定文檔遵循的是xhtml 1.0 strict標(biāo)準(zhǔn),文檔的doctype聲明就應(yīng)該引用相應(yīng)的dtd。
另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風(fēng)格的html標(biāo)記,就是不恰當(dāng)?shù)?;類似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標(biāo)記,同樣是不恰當(dāng)?shù)摹?
如果沒有指定有效的doctype聲明,大多數(shù)瀏覽器都會使用一個內(nèi)建的默認(rèn)dtd。在這種情況下, 瀏覽器會用內(nèi)建的dtd來試著顯示你所指定的標(biāo)記(不過這是頁面寫得太糟糕的時候的做法)。
看了一下京東、淘寶、還有博客園,用的都是這個(本人也一直都是用的這個):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
但是發(fā)現(xiàn)百度跟谷歌用的是“<!doctype html>”,就再仔細(xì)查了一下資料,發(fā)現(xiàn)HTML5也是直接用的這個,不過是因?yàn)?HTML 5 不基于 SGML,因此不需要對 DTD 進(jìn)行
引用,但是需要 doctype 來規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來運(yùn)行)。

建議在以后都直接用“<!doctype html>”,用<!doctype html>的話就會開啟瀏覽器的標(biāo)準(zhǔn)兼容模式,在標(biāo)準(zhǔn)兼容模式下,不能保證與其它版本(IE6之前的,直接忽略吧),的 Internet Explorer 保持兼容,文檔的渲染行為也許與將來的 Internet Explorer 不同,但也請大家放心地使用吧~~

小貼士
XHTML 1就是HTML 4.01的XML化,是一種不向前兼容的格式。
HTML 4.01 中的 doctype 需要對 DTD 進(jìn)行引用,因?yàn)?HTML 4.01 基于 SGML。
SGML規(guī)定了在文檔中嵌入描述標(biāo)記的標(biāo)準(zhǔn)格式,指定了描述文檔結(jié)構(gòu)的標(biāo)準(zhǔn)方法,目前在WEB上使用的HTML格式便是使用固定標(biāo)簽集的一種 SGML文檔。

標(biāo)簽:山南 賀州 煙臺 湖北 黃山 湘潭 懷化 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《有沒有仔細(xì)了解過標(biāo)簽 它是如何定義如何使用》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    大埔区| 遵义县| 堆龙德庆县| 汾阳市| 大埔县| 西充县| 梓潼县| 台州市| 岱山县| 台中县| 资阳市| 定远县| 保德县| 隆德县| 孟州市| 镇沅| 鄄城县| 喀什市| 南丰县| 天镇县| 蒙山县| 宝鸡市| 冕宁县| 沙田区| 贵定县| 和政县| 平山县| 靖安县| 闸北区| 鄱阳县| 阿拉善盟| 永年县| 滨州市| 长乐市| 洪泽县| 莆田市| 英德市| 易门县| 渭源县| 察雅县| 卢龙县|