XHTML的目標,規(guī)則和細節(jié)
2006/2/1 22:43:00

兩個目的:
1,將頁面的內(nèi)容和形式清晰的分離開來
2,使頁面內(nèi)容更接近于XML
為什么要實現(xiàn)這兩個目的,好多地方都有講,不過,這里簡單的講兩條
1,跟為什么ASP.NET要分層是一個道理,內(nèi)容和形式分離后,一個符合XHTML規(guī)范的頁面的外觀可重覆設(shè)計而無需更改頁面內(nèi)容
2,跟XML靠近的原因,這個好多地方有講,最重要的是,HTML固然能被IE解析,可他那過于寬松的形式,大量的形式標記,無助于表示語義,一句話,HTML是用來呈現(xiàn)的,可它卻忘了數(shù)據(jù)的重要性,數(shù)據(jù)不光要呈現(xiàn),而且最好容易理解,這一點恰恰是XML的長處,XML就是用來表示數(shù)據(jù)的
XHTML的版本標準有三個
XHTML 1.0 過渡版,這個比較寬松
XHTML 1.0 嚴格版,嚴格要求形式和內(nèi)容分離
XHTML 1.0 框架版,加入了對FRAMESET的支持
XHTML 1.0包含哪些標準呢?或者說,什么樣的頁面才是XHTML1.0規(guī)范頁面呢?
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標準,內(nèi)容是一個100%寬100%高的表格,你給表格應(yīng)用上邊框,在IE里查看,你會發(fā)現(xiàn),HTML標準的,表格確實是100%高100%寬,但是XHTML的就不會,表格高度無法到達100%高,這說明,IE在渲染時,是會根據(jù)DOCTYPE聲明有所區(qū)別的
2,根元素必須指出XHTML命名空間
通常是HTML這個<html xmlns="http://www.w3.org/1999/xhtml">
3,所有元素和屬性名要小寫
4,屬性值必須用雙引號括起
這一條是很多人容易忘記的,因為在HTML里,數(shù)值屬性值,我們往往都不寫雙引號,像A標記的HREF,也可以不寫
不過,VS.NET的選項里,有選項可以讓VS.NET自動幫你產(chǎn)生屬性值雙引號,而且可以自動更改大小寫,挺方便
5,每一個元素必須有結(jié)束標記,如果是空元素,則按XML規(guī)則來書寫,就是說<IMG>要寫成<IMG  />
6,標記不要交叉,這一點應(yīng)該沒問題吧,不過,IE才不管你交不交叉,它的容錯能力倒是超強(不是糾錯哦)
7,屬性必須有值,以前我們寫CHECKBOX的屬性,總是寫<input type="checkbox" checked>這回不行了,得寫成<input type="checkbox" checked="true" />
8,用ID屬性取代NAME屬性,這點順理成章吧,畢竟ID更深入人心,特別是搞SERVER SIDE技術(shù)的,而且DHTML中,有許多涉及到ID的方法了,真不知道干啥還要用NAME(不是指INPUT類的哦,是指A,IMG等)
9,<script>及<style>標記的內(nèi)容必須使用
<![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好解析多了

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 久久国产精久久精产国| 动漫卡通精品3d一区二区| 720lu国内自拍视频在线| 少妇高潮喷潮久久久影院| 久久亚洲欧美国产精品| 欧美一区二区三区综合色视频| 人妻内射一区二区在线视频| 美女福利视频一区二区| 国产在线午夜卡精品影院| 色老板在线视频一区二区| 在线观看免费为成年视频| 一本大道AV伊人久久综合| 无码国产福利av私拍| 久久精品国产一区二区电影| 欧美性猛交xx免费看| 亚洲精品自拍视频| 破处视频在线观看| 又大又硬又爽免费视频| 色网站在线免费观看| 国产成人精品久久综合| 无遮挡1000部拍拍拍免费凤凰| 在线无码视频观看草草视频| www夜插内射视频网站| 成人性生交大片免费看| 久久久久国产精品| 日韩欧美在线播放视频| 亚洲一区二区三区无码国产| 欧美日韩国产欧美| 亚洲精品欧洲精品| 男人j进女人p免费视频不要下载的| 午夜精品久久久久久99热| 色噜噜亚洲精品中文字幕| 国产在线观看麻豆91精品免费| 亚洲国产最大av| 国产精品国产欧美综合一区| 91精品国产乱码在线观看| 在线观看免费视频资源| bbw巨大丰满xxxx| 女人张开腿男人捅| а√天堂中文资源| 强制邻居侵犯456在线观看|