国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

XHTML的目標,規則和細節

2020-03-22 19:39:19
字體:
來源:轉載
供稿:網友
兩個目的:
1,將頁面的內容和形式清晰的分離開來
2,使頁面內容更接近于XML為什么要實現這兩個目的,好多地方都有講,不過,這里簡單的講兩條
1,跟為什么ASP.NET要分層是一個道理,內容和形式分離后,一個符合XHTML規范的頁面的外觀可重覆設計而無需更改頁面內容
2,跟XML靠近的原因,這個好多地方有講,最重要的是,HTML固然能被IE解析,可他那過于寬松的形式,大量的形式標記,無助于表示語義,一句話,HTML是用來呈現的,可它卻忘了數據的重要性,數據不光要呈現,而且最好容易理解,這一點恰恰是XML的長處,XML就是用來表示數據的XHTML的版本標準有三個
XHTML 1.0 過渡版,這個比較寬松
XHTML 1.0 嚴格版,嚴格要求形式和內容分離
XHTML 1.0 框架版,加入了對FRAMESET的支持XHTML 1.0包含哪些標準呢?或者說,什么樣的頁面才是XHTML1.0規范頁面呢?1,頁面開頭必須包含一個正確的XML DocType聲明
!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 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
這個要注意,這個聲明是告訴瀏覽器如何渲染頁面的,想做個測試的話,你在DREAMWEAVER中做兩個頁面,一個用HTML,一個用XHTML標準,內容是一個100%寬100%高的表格,你給表格應用上邊框,在IE里查看,你會發現,HTML標準的,表格確實是100%高100%寬,但是XHTML的就不會,表格高度無法到達100%高,這說明,IE在渲染時,是會根據DOCTYPE聲明有所區別的2,根元素必須指出XHTML命名空間
通常是HTML這個 html xmlns="http://www.w3.org/1999/xhtml"
3,所有元素和屬性名要小寫
4,屬性值必須用雙引號括起
這一條是很多人容易忘記的,因為在HTML里,數值屬性值,我們往往都不寫雙引號,像A標記的HREF,也可以不寫
不過,VS.NET的選項里,有選項可以讓VS.NET自動幫你產生屬性值雙引號,而且可以自動更改大小寫,挺方便
5,每一個元素必須有結束標記,如果是空元素,則按XML規則來書寫,就是說 IMG 要寫成 IMG /
6,標記不要交叉,這一點應該沒問題吧,不過,IE才不管你交不交叉,它的容錯能力倒是超強(不是糾錯哦)
7,屬性必須有值,以前我們寫CHECKBOX的屬性,總是寫 input type="checkbox" checked 這回不行了,得寫成 input type="checkbox" checked="true" /
8,用ID屬性取代NAME屬性,這點順理成章吧,畢竟ID更深入人心,特別是搞SERVER SIDE技術的,而且DHTML中,有許多涉及到ID的方法了,真不知道干啥還要用NAME(不是指INPUT類的哦,是指A,IMG等)
9, script 及 style 標記的內容必須使用
![CDATA[
]] 括起
這一點也容易理解,要不,如果你 SCRIPT 中有 形式的字符,也會被瀏覽器當成XHTML標記來渲染了,但是,你可千萬別以為真是直接用上面的標記括呀,你要這樣括了,IE一定報錯,因為IE雖然認識他們,可是JAVASCRIPT會當它們是代碼呀,怎么辦呢?正確的辦法是加上JAVASCRIPT注釋
/* ![CDATA[*/
/*]] */
這樣一來就行了,不過,我剛開始看到上面的方法,很懷疑,因為這樣一來,IE咋解析/**/呢?原文說,"the CDATA section is hidden from the JavaScript, but not from the browser that parses the page",就是說,雖然JAVASCRIPT注釋掉它,并忽略它,但是瀏覽器仍然會解析它
當然,更好的辦法是把SCRIPT和STYLE放到外部文件中去其他的部分是我的建議
1,廢除掉一些舊的標記,例如font,b,i,u等,基本上是那些用于修飾格式的標記
2,盡量使用DIV來布局而不是TABLE,當然如果你不熟的話,用TABLE也可以,不過,還是慢慢熟的好,至于原因,我想,DIV至少在用ROBERT程序抓取時比TABLE好解析多了吧
3,用樣式來控制頁面布局及格式,盡量不要用內容樣式,要問為什么的話,你想想看,內聯樣式重用率低,而且太分散
4,選一個好的XHTML編輯器
一個好的編輯器有助于事半功倍的幫你編寫XHTML標準的頁面
VS.NET的HTML設計器一向不是很好使,而且VS.NET2003根本未提供XHTML支持,它僅支持標記自動小寫,自動為屬性加雙引號,不支持自動改寫空標記,更不支持驗證是否符合XHTML
在這里建議大家用MACROMEDIA DREAMWEAVER MX 8,它的確是這世界上最棒的HTML設計器了,它支持100%的XHTML特性,從創建到驗證,特別是驗證,可以讓你在創建完后,驗證是否有違犯XHTML規定的地方一些細節
DoCTYPE開關
不同的DOCTYPE聲明對于瀏覽器來說,在渲染處理上是不一樣的,主要是像BOX的計算規則之類的處理上
這一點是很多人所不知道的,例如,IE6支持兩種模式,一種是標準模式,另一種是寬松模式,如果是XHTML的頁面,則會用標準模式處理,如果是普通HTML頁面,則是用寬松模式來處理,所以,一個內容相同的頁面,DOCTYPE不一樣,出來的細節也有些差別本文翻譯和摘要了一篇來自由Stephen Walther發表于MSDN上的文檔,原文見http://msdn.microsoft.com/asp.net/reference/design/default.aspx?pull=/library/en-us/dnaspp/html/aspnetusstan.asp#aspnetusstan_topic2
本文作者:html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇庆市| 江山市| 吉隆县| 重庆市| 交城县| 巩义市| 和硕县| 定远县| 开江县| 侯马市| 井研县| 南华县| 基隆市| 岐山县| 那坡县| 敖汉旗| 吴忠市| 长乐市| 通山县| 荃湾区| 个旧市| 达拉特旗| 渭源县| 文登市| 卢湾区| 淄博市| 浦江县| 和顺县| 邹城市| 神池县| 顺昌县| 财经| 团风县| 洛扎县| 岳池县| 文昌市| 策勒县| 如皋市| 康定县| 茶陵县| 阿拉善左旗|