HTML4.0與XHTML1.0真正的區(qū)別在哪里?_Div+CSS教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
文檔必須是編排良好的
XHTML是XML的一個(gè)應(yīng)用,一些在基于SGML的HTML 4中完全合法的習(xí)慣在XHTML中必須改變。編排良好性Well-formedness是[XML]引入的一個(gè)新概念。從本質(zhì)上說(shuō),這意味著元素必須有結(jié)束標(biāo)簽,或者必須以非凡方式書寫(在下面說(shuō)明)。
元素必須嵌套,盡管SGML規(guī)定層疊非法,但現(xiàn)有的瀏覽器普遍答應(yīng)層疊。
正確:嵌套元素。
<p>here is an emphasized <em>paragraph</em>.</p>
不正確:層疊元素。
<p>here is an emphasized <em>paragraph.</p></em>
元素和屬性名必須小寫
對(duì)所有HTML元素和屬性名,XHTML 文檔必須使用小寫。 因?yàn)閄ML是大小寫敏感的,所以這個(gè)差別是必須的。如 <li> 和 <LI> 是不同的標(biāo)簽。
對(duì)非空元素,必須使用結(jié)束標(biāo)簽
在基于 SGML的 HTML 4 中,一些隱含結(jié)束意義的元素答應(yīng)忽略結(jié)束標(biāo)簽。而在基于XML的XHTML中,這種忽略不被答應(yīng)。除了在DTD中被聲明為空的元素,所有元素必須有結(jié)束標(biāo)簽。
正確:結(jié)束了的元素。
<p>here is a paragraph.</p><p>here is another paragraph.</p>
不正確:未結(jié)束元素。
<p>here is a paragraph.<p>here is another paragraph.
屬性值必須在引號(hào)中
所有的屬性必須用引號(hào),即使是數(shù)字。
正確:在引號(hào)中的屬性值
<table rows="3">
不正確:不在引號(hào)中的屬性值。
<table rows=3>
屬性最小化
XML 不支持屬性最小化. 屬性值對(duì)必須寫全。象compact,checked這樣的屬性名不能不指定屬性值而在元素中出現(xiàn)。
正確:沒(méi)有最小化的屬性
<dl compact="compact">
不正確:最小化屬性
<dl compact>
空元素
空元素要么必須有結(jié)束標(biāo)簽,要么起始標(biāo)簽以/>結(jié)束. 例如,<br/>或<hr></hr>. 請(qǐng)參看HTML兼容性指導(dǎo) HTML Compatibility Guidelines 中的信息,以保證向后兼容HTML 4用戶代理程序
正確:結(jié)束的空元素
<br/><hr/>
錯(cuò)誤:未結(jié)束的空標(biāo)簽
<br><hr>
屬性值中的空白字符處理
對(duì)屬性值,用戶代理程序?qū)h去引導(dǎo)和后序空白符,將一個(gè)或多個(gè)空白符(包括換行)轉(zhuǎn)換成單個(gè)字符間空間(在西方書寫體中是一個(gè)ASCII空格) See Section 3.3.3 of [XML]。
Script and Style 元素
在XHTML中,script和style元素聲明為#PCDATA內(nèi)容形式,因此,< 和 & 被看作是標(biāo)識(shí)的開(kāi)始,<和& 這樣的實(shí)體被XML處理程序看作為實(shí)體引用而分別被認(rèn)為是< 和 & . 將script和style元素的內(nèi)容包裹在CDATA記號(hào)部分中避免了這些實(shí)體的擴(kuò)張。
示例代碼 [www.hl5o.cn]
<script>
<![CDATA[
... unescaped script content ...
]]>
</script>
<![CDATA[
... unescaped script content ...
]]>
</script>
CDATA 部分被 XML 處理程序識(shí)別,是文檔對(duì)象模型中一個(gè)結(jié)點(diǎn)。請(qǐng)參看1.3節(jié)Section 1.3的DOM LEVEL 1推薦標(biāo)準(zhǔn)[DOM]。
替代的方式是使用外部script和style文檔。
SGML 禁止
SGML 給作者的DTD可以指定在一個(gè)元素內(nèi)部禁止出現(xiàn)的元素。這樣的禁止在XML中是不可能的。
例如,嚴(yán)格的 HTML 4 DTD 禁止任何深度的’a’元素對(duì)另一’a’元素的嵌套。在XML中無(wú)法寫出這樣的禁止。盡管這些禁止不能在DTD中定義,一些元素不應(yīng)該被嵌套。在標(biāo)準(zhǔn)化的附錄B Appendix B中是這些元素的匯總。
具有 'id' 和 'name' 屬性的元素
HTML 4 定義了name屬性的元素有 a,applet,form,frame,iframe,img,and map. HTML 4還引入了 id 屬性. 這兩個(gè)屬性都是被設(shè)計(jì)作為片段標(biāo)識(shí)符。
在XML中,片段標(biāo)識(shí)符是ID類型,每個(gè)元素只能有一個(gè)ID類型的屬性。因此,在XHTML1.0中,id屬性被定義為ID類型。為保證XHTML1.0文檔是結(jié)構(gòu)良好的XML文檔,在定義一個(gè)片段標(biāo)識(shí)符時(shí),XHTML文檔必須使用id屬性,即使是對(duì)那些以前用name屬性的元素。請(qǐng)參看 HTML Compatibility Guidelines 的信息,確保XHTML文檔以text/html媒體類型使用時(shí),這些”錨”能向后兼容。
注重,在XHTML 1.0中,name 屬性不被正式支持,在以后的XHTML版本中將被刪除。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- DIVCSS菜單:超炫的菜單一張圖片實(shí)現(xiàn)鼠標(biāo)的兩種狀態(tài)及CSS當(dāng)前頁(yè)效果
- 實(shí)現(xiàn)三列布局相同高度的解決辦法
- 10個(gè)很酷的涂鴉風(fēng)格國(guó)外網(wǎng)店設(shè)計(jì)展示
- CSSFloatLayoutBasics-CSS浮動(dòng)布局基礎(chǔ)
- CSS布局中常用的CSS圖像置換、圖片替代的方法舉例
- CSS實(shí)例:kijiji社區(qū)頭像CSS效果
- CSS布局實(shí)例:一個(gè)不錯(cuò)的表格樣式
- css javascript圖片自動(dòng)同比例縮小并且實(shí)現(xiàn)垂直居中
- CSS布局教程:DIV CSS三列式布局的實(shí)現(xiàn)方法
- CSS中以圖片替換文字的表現(xiàn)方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
Div+CSS教程-HTML4.0與XHTML1.0真正的區(qū)別在哪里?
。