精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
為頁面添加正確的doctype聲明

用dw設計網(wǎng)頁時,代碼最前面總要出現(xiàn)一個下面的東東,
<!doctype html public "-/w3c/dtd html 4.01 transitional/en"
"http://www.w3.org/tr/html4/loose.dtd">
這個是dw自動在網(wǎng)頁文件頁增加了dtd信息(DOCTYPE聲明),可以刪。刪除后,瀏覽器會使用的默認dtd。

很多設計師和開發(fā)者都不知道什么是DOCTYPE,DOCTYPE有什么用。DOCTYPE是document type的簡寫。主要用來說明你用的XHTML或者HTML是什么版本。瀏覽器根據(jù)你DOCTYPE定義的DTD(文檔類型定義)來解釋頁面代碼。所以,如果你不注意設置了錯誤的DOCTYPE,結(jié)果可能會令頁面出現(xiàn)錯誤。

doctype的作用
doctype聲明指出閱讀程序應該用什么規(guī)則集來解釋文檔中的標記。在web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗器這樣的一個程序,“規(guī)則”則是w3c所發(fā)布的一個文檔類型定義(dtd)中包含的規(guī)則。
每個dtd都包括一系列標記、attributes和properties,它們用于標記web文檔的內(nèi)容;此外還包括一些規(guī)則,它們規(guī)定了哪些標記能出現(xiàn)在其他哪些標記中。每個web建議標準(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
假如文檔中的標記不遵循doctype聲明所指定的dtd,這個文檔除了不能通過代碼校驗之外,還有可能無法在瀏覽器中正確顯示。對于標記不一致的問題,瀏覽器相較于校驗器來說更寬容。但是,不正確的doctype聲明經(jīng)常導致網(wǎng)頁不正確顯示,或者導致它們根本不能顯示。

選擇正確的doctype
為了獲得正確的doctype聲明,關鍵就是讓dtd與文檔所遵循的標準對應。例如,假定文檔遵循的是xhtml 1.0 strict標準,文檔的doctype聲明就應該引用相應的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風格的html標記,就是不恰當?shù)模活愃频兀绻鹍octype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標記,同樣是不恰當?shù)摹?
有的時候,也可以根本不使用一個doctype聲明。如果沒有指定有效的doctype聲明,大多數(shù)瀏覽器都會使用一個內(nèi)建的默認dtd。在這種情況下,瀏覽器會用內(nèi)建的dtd來試著顯示你所指定的標記。對于一些臨時性的、匆忙拼湊的文檔(這種文檔有許多),你確實可以考慮省略doctype聲明,并接受瀏覽器的默認顯示。
然而,由于大多數(shù)web文檔都需要遵循由w3c發(fā)布的某個國際公認的web標準,所以那些文檔通常都要包含以下標準doctype聲明之一:

html 2(數(shù)字2代表版本號):
<!doctype html public "-/ietf/dtd html 2.0/en">

html 3.2:
<!doctype html public "-/w3c/dtd html 3.2 final/en">
——————————————————————————————
html 4.01 strict:
<!doctype html public "-/w3c/dtd html 4.01/en"
"http://www.w3.org/tr/html4/strict.dtd">

html 4.01 transitional:
<!doctype html public "-/w3c/dtd html 4.01 transitional/en"
"http://www.w3.org/tr/html4/loose.dtd">

html 4.01 frameset:
<!doctype html public "-/w3c/dtd html 4.01 frameset/en"
"http://www.w3.org/tr/html4/frameset.dtd">
——————————————————————————————
xhtml 1.0 strict:
<!doctype html public "-/w3c/dtd xhtml 1.0 strict/en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

xhtml 1.0 transitional:
<!doctype html public "-/w3c/dtd xhtml 1.0 transitional/en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

xhtml 1.0 frameset:
<!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">

xhtml 1.1 plus mathml plus svg:
<!doctype html public
"-/w3c/dtd xhtml 1.1 plus mathml 2.0 plus svg 1.1/en"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

(說明一下,XHTML 1就是HTML 4.01的XML化,是一種不向前兼容的格式,未來的XHTML 2也不會向后兼容。)

大家可以仔細看看上邊三句代碼的不同之處,他們代表了三種不同的XHTML文檔類型。
Transitional類型:是指一種過渡類型,使用這種類型瀏覽器對XHTML的解析比較寬松,允許使用HTML4.01中的標簽,但必須符合XHTML的語法。這種是現(xiàn)在通用的方法,用dreamweaver創(chuàng)建網(wǎng)頁時默認就是這種類型。
Strict類型:嚴格類型,使用時瀏覽器將相對嚴格,不允許使用任何表現(xiàn)形式的標識和屬性,如在元素中直接使用bgcolor背景色屬性等。
Frameset類型:框架頁類型,如果網(wǎng)頁使用了框架結(jié)構(gòu),就有必要使用這樣的文檔聲明。

那么應該選擇哪個?我相信很多人,尤其是接觸了網(wǎng)頁標準(Web Standards)的人,會毫不猶豫地選擇XHTML 1.0 Transitional。這是一股趨勢,這是一股潮流,暗示著,嘿嘿,伙計,看見沒,我們的網(wǎng)站使用最新技術構(gòu)建了……
這里有一個很有趣的統(tǒng)計,使用XHTML 1.0 Strict和Transitional的占絕大多數(shù),且對半開。那么,這個世界就那么美好了嗎?
我們先來看看W3C的建議,總結(jié)出下表:

Media types summary for serving XHTML documents
Media Typetext/htmlapplication/xhtml+xmlapplication/xmltext/xml
HTML 4SHOULDMUST NOTMUST NOTMUST NOT
XHTML 1.0 (HTML Compatible)MAYSHOULDMAYMAY
XHTML 1.0 (other)SHOULD NOTSHOULDMAYMAY
XHTML BasicSHOULD NOTSHOULDMAYMAY
XHTML 1.1SHOULD NOTSHOULDMAYMAY
XHTML + MathMLSHOULD NOTSHOULDMAYMAY

前面說到,XHTML 1實際上是HTML 4.01的XML化。即時看起來,寫起來,用起來都很像,但這是兩種不同的規(guī)范。XHTML的MIME-TYPE應該是application/xhtml+xml,而HTML應該是text/html。兩者有何不同,簡單的說,application/xhtml+xml屬于XML,所以行為遵循一切XML規(guī)范,最重要的是良構(gòu)(Well-Formed)這一點。
除了XHTML 1.0 Transitional和Frameset,我們可以看到,XHTML 1.0 Strict和1.1都SHOULD使用application/xhtml+xml。然而,我們可以看到,前面提到的那個統(tǒng)計,并沒有多少個網(wǎng)站使用application/xhtml+xml,可以說他們是扯虎皮做大旗而已,它們非良構(gòu)的內(nèi)容依然可以通過支持application/xhtml+xml的瀏覽器(如Firefox, Opera)來展現(xiàn),因為它們本質(zhì)上還是text/html,而text/html并不需要良構(gòu)。
可以看到,XHTML 1.0 Transitional的地位很曖昧,它的Transitional 使得其MAY text/html,SHOULD application/xhtml+xml。也就是說,怎么處理,實際上交由客戶端(client side)來決定。在我所見到的桌面瀏覽器中,它們都毫不猶豫地選擇text/html,這跟它們一貫的寬容風格保持一致。
但是很不幸的是,就有這么一個瀏覽器,Opera for mobile,從8.0開始,凡是聲明了XHTML的Doctype,它都一律以application/xhtml+xml來處理。所以,你那不良構(gòu)的網(wǎng)站,只好在它上面顯示出錯信息。
所以,推薦使用XHTML 1.0 Transitional,是鼓勵你從HTML向XHTML轉(zhuǎn)化,且保持過渡性。但過渡性并不代表你就可以不重視XML的良構(gòu)。
實際上,我們并沒有能夠發(fā)現(xiàn)XHTML 1.0 Transitional跟HTML 4.01 Strict有何不同,除了一個target,一些過時的表現(xiàn)標簽和屬性(attribute)。只要我們在HTML中不寫作那些XHTML中不存在的標簽和屬性,我們實際上就是在寫XHTML 1.0 Transitional,對我們并沒有什么影響,什么XML的優(yōu)越性完全不能在XHTML 1.0 Transitional中體現(xiàn)出來,所以與其讓Opera for mobile(或許還有其他變數(shù))不能工作,還不如選擇HTML 4.01 Strict。當然,如果您能保證你的XHTML 1.0 Transitional 百分百良構(gòu),使用它是一個更佳的選擇。然后,請你告訴我,世界上,使用了XHTML 1.0 Transitional的網(wǎng)站,非首頁的其他頁面能有多少個是能夠通過驗證的?
結(jié)論是,如果你沒有勇氣保證整個站點百分百良構(gòu),請使用HTML 4.01 Strict;如果您有勇氣保證整個站點百分百良構(gòu),您可以直接選擇XHTML 1.1。


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
關于頁面編碼的doctype:使用正確的doctype聲明
HTML基礎-陳夕帶你認識HTML
html DOCTYPE中的解釋
DOCTYPE grid
DOCTYPE解釋及w3c strict模型
margin:0 auto
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 台南县| 松阳县| 鲜城| 叶城县| 得荣县| 桓台县| 平顺县| 会理县| 聊城市| 门源| 咸丰县| 赞皇县| 徐闻县| 东乡| 抚州市| 昌宁县| 鄂托克旗| 赫章县| 扎鲁特旗| 冕宁县| 炉霍县| 汉沽区| 新乡市| 泾阳县| 沁水县| 南康市| 岑巩县| 军事| 红桥区| 延庆县| 阿拉善左旗| 赞皇县| 台北县| 抚宁县| 玛曲县| 河北区| 临夏市| 金秀| 高邑县| 措勤县| 湟中县|