本教程關於如何定義乙個合法的
xhtml
文件。在你每乙個頁面的頂端,你需要文件宣告。是的,必須。
如果不指定文件型別,你的
html
不是合法的html,並且大部分瀏覽器會用「怪癖模式(quirks mode)」來處理頁面,這意味著瀏覽器認為你自己也不知道究竟做什麼,並且按瀏覽器自己的方式來處理你的**。你可以是乙個html大師,在地球上打遍天下無敵手,或者你的html可以無瑕疵,css可以很完美,但如果沒有文件宣告,或者錯誤的文件宣告,你的網頁與乙個短視的,獨眼的長臂猿嬰兒十分艱難地堆砌起來的沒兩樣。
xhtml 1.0 strict(嚴格)的文件宣告是這樣的:
下面的是xhtml 1.1的文件宣告,作為xhtml的最新版本,看起來更完美,但還是有一些問題,隨後我們會稍微講解……
"-//w3c//dtd xhtml 1.1//en" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
如果你不願放棄html 4或者你還有netscape 4死忠使用者,你可以使用xhtml 1.0 transitional(過渡型):
"-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
你使用這的唯一理由是你還要相容老版本的,少用的瀏覽器。過渡型xhtml 1.0允許html 4的表現元素,其也可能在如netscape 4的瀏覽器中表現更好。但使用這些元素將對你網頁的效率和可用性有害。
最後,如果你是使用框架的怪人之一,可以使用像下面一樣的xhtml 1.0 frameset(框架)文件型別宣告:
"-//w3c//dtd xhtml 1.0 frameset//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">
注意doctype
標籤必須大寫和前置乙個英文半形感嘆號!。它是唯一乙個打破規則的標籤,它不需要關閉。
即使http
頭或者在html
起始標籤內設定了xml:lang
屬性,你也必須為文件指定乙個主要語言。儘管處理乙個
合法的xhtml文件這不是必須的,但也是乙個易用性的考慮。值是縮寫的,比如en(english,英語),fr(french,法語),de(german,德語)或者mg(malagasy,這是什麼語?譯者也不知道,呵呵。——譯者注)。
宣告乙個主要用英語內容的文件,例子是這樣的:
xml:lang="en">
在宣告主要語言之後,假如還需要使用其他語言,你還可以在內聯中使用xml:lang
屬性(比如html hund
)。
html文件的**型別和字型集也許要指定,可以使用http頭來完成,比如:
content-type: text/html; charset=utf-8
http頭部的第一部分(如text/html
)是檔案mime
型別
,讓瀏覽器知道檔案的**型別因此可以知道怎麼處理。所有的檔案都有mime型別。jpeg
影象是image/jpeg
,css檔案是text/css
s和html一般使用text/html
。
http頭部的第二部分(如utf-8
部分)是字符集。
也許設定http頭的最簡易方法是在html中使用「http同義(http-equivalent)」的頭標籤,像這樣:
http-equiv="content-type" content="text/html; charset=utf-8"/>
些微複雜當更好的方法是使用伺服器端指令碼語言來傳送頭。用
php的話,你可以這樣做:
<?header("content-type: text/html; charset= utf-8");?>
如果你不願意(或不能)使用伺服器端指令碼語言,你也許可以直接給伺服器設定乙個「.htaccess」檔案。大部分伺服器(apache相容)可以在根目錄使用乙個「.htaccess
addtype text/html;charset=utf-8 html
字符集包括大部分西方基於拉丁文語言的「iso-8859-1」,日語的「shift_jis」,中文的「gb18030」和utf-8,乙個 unicode transformation format版本,提供大範圍的多種語言的單個字元。基本上,你應該使用乙個你知道的,能為你使用者清楚認知的字符集。除非你使用基於拉丁語的語言(包括英語)(iso-8859-1被普遍接受的),你應該使用utf-8因為它可以顯示大多數語言的大多數字元,使用它也是安全的,因為它可以在大部的計算機上使用。
elsewhere on the web。
xhtml
應該當作
的mime型別來使用,再清楚不過,這是
xml程式。不幸的是,大部分瀏覽器沒有對這沒有第一線索。所以,一般認為使用text/html
的mime型別是不錯的。根據
w3c的建議和
網頁標準工程的未來亮點
,調味的xhtml 1.0
也許可以作text/html
使用,但xhtml 1.1不應該,這就是這個**以xhtml 1.0 strict(嚴格)作為例子,假定text/html
的mime型別。但是你仍然可以(或許不應該)為它們設定正確的mime型別給瀏覽器,輕微的呼叫一下伺服器端即可。
這個**使用php為xhtml 1.1設定
的mime型別給那些能夠理解和處理這個型別的瀏覽器(如mozilla),為xhtml 1.0 strict設定text/html
給其他瀏覽器(如
ie)。為每乙個頁面的頂部加入如下**:
這些檢查核實瀏覽器是否接受<?
echo('');
} else
?>
的mime型別,如果接受,就傳送這個mime型別並把xhtml 1.1文類型別寫到html中。如果這個mime型別不被接受,就傳送text/html
的mime型別並把xhtml 1.0 strict(嚴格)的文件型別寫入html。
除了你知道你正在做著正確的事情和為自己準備將來的路的平和想法外,最直接的益處就是,使用這個方法,mozilla瀏覽器把你的檔案當作xml程式對待並且如果你的xhtml還沒有抓癢,就是說不合式的,mozilla就不會工作。然後你就可以排錯了,而不需要用校驗器來執行你的文件了。
這裡還有一篇更具體的
使用正確的mime型別伺服xhtml
供你參考。
Html中的宣告
本教程關於如何定義乙個合法的 xhtml 文件。在你每乙個頁面的頂端,你需要文件宣告。是的,必須。如果不指定文件型別,你的 html 不是合法的html,並且大部分瀏覽器會用 怪癖模式 quirks mode 來處理頁面,這意味著瀏覽器認為你自己也不知道究竟做什麼,並且按瀏覽器自己的方式來處理你的 ...
關於html中的doctype宣告
相信初學html的大家總會在 的第一行看到類似的 但這行 究竟有什麼用呢?為什麼我刪掉它後 仍然正常,它是不是沒有用?doctype是乙個宣告,是為了告訴標準通用標記語言解析器,它應該使用什麼樣的文件型別定義 dtd 來解析文件。對於網頁來說,每個網頁的製作並不都是遵循標準來創作,即便你不能敲出標準...
HTML中的doctype宣告含義
1.宣告位於文件中的最前面的位置,處於之前 2.宣告不是乙個html標籤 它是用來告訴瀏覽器頁面使用了哪種html版本 3.標籤沒有結束標籤 4.宣告不區分大小寫。在html 4.01 中,宣告需引用 dtd 文件型別宣告 因為 html 4.01 是基於 sgml standard general...