<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

    這篇文章主要闡述 HTML 和 XHTML 的區別。簡單來說,XHTML 可以認為是 XML 版本的 HTML,為符合 XML 要求,XHTML 語法上要求更嚴謹些。

    以下是 XHTML 相對 HTML 的幾大區別:

    • XHTML 要求正確嵌套
    • XHTML 所有元素必須關閉
    • XHTML 區分大小寫
    • XHTML 屬性值要用雙引號
    • XHTML 用 id 屬性代替 name 屬性
    • XHTML 特殊字符的處理

    XHTML 要求正確嵌套

    以下是正確的嵌套:

    <p>布啦布啦<strong>獨樹一幟</strong>。</p>

    以下是錯誤的嵌套:

    <p>布啦布啦<strong>獨樹一幟</p></strong>。

    XHTML 所有元素必須關閉

    在 HTML 中,比如 <p>,<li> 這些標記,你可以不寫 </p>,</li>,但是在 XHTML 里,必須要求寫關閉標記 (Closing Tag)。

    比如:

    <p>布啦布啦很認真。

    應該寫成:

    <p>布啦布啦很認真。</p>

    處理空元素

    有些空元素,在 XHTML 里的寫法是在">"之前加空格和斜杠。比如<br>,應該寫成<br />。

    以下是空元素的例子:

    <br />

    <hr />

    <img src = "/images/adpics/1/b027.jpg" alt = "blabla" />

    <link rel="stylesheet" href="/styles/blabla.css" type="text/css" />

    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    XHTML 區分大小寫

    HTML 不區分大小寫,但是 XHTML 是區分大小寫的。

    XHTML 的所有標記屬性都要寫。

    比如:

    <IMG SRC = "/images/adpics/1/b027.jpg" Alt = "blabla" />

    應該寫成:

    <img src = "/images/adpics/1/b027.jpg" alt = "blabla" />

    XHTML 屬性值要用雙引號

    HTML 并不強制要求屬性值加雙引號。比如你可以寫:

    <table cellspacing = 0>

    <input checked>

    但在 XHTML 里,應該寫成:

    <table cellspacing = "0">

    <input checked = "checked" />

    XHTML 用 id 屬性代替 name 屬性

    HTML 很多元素,比如 a,applet,frame,iframe,img 和 map,有 name 屬性。在 XHTML 里是要廢除的,而用 id 屬性取而代之。

    比如:

    <img src="blabla.gif" name="blabla logo" />

    應該寫成:

    <img src="blabla.gif" id="blabla logo" />

    XHTML 特殊字符的處理

    & 應該在 XHTML 里應該寫成 &amp;。

    比如:

    You & Me

    應該寫成:

    You &amp; Me

    還有如果內嵌 Javascript 代碼,在 XHTML 里則應該寫成:

    <script type="text/javascript">//<![CDATA[

    ...

    //]]></script>

    瀏覽器的角度

    以上是從協議標準的角度來看待這個問題的。如果從瀏覽器的角度來看待這個問題,情況就有所不同。

    考慮一下,如果把 XHTML 寫得很不嚴格,瀏覽器會怎么做?是不是會彈出一個對話框,寫著“這個網站的開發人員技術不過關,寫的不是正宗的 XHTML 文件,咱不顯示”?顯然,如果瀏覽器做成這個樣子,倒貼錢也是不會有人用的。

    從瀏覽器的角度看待上面幾個不同,大致是下面的測試結果(IE和Firefox我都測試過):

    • XHTML 要求正確嵌套:如果你沒有嵌套,瀏覽器會試圖幫你嵌套。
    • XHTML 所有元素必須關閉:如果你沒有關閉,瀏覽器會試圖幫你關閉。
    • XHTML 區分大小寫:你非要寫成大寫,瀏覽器幫你轉換成為小寫。
    • 屬性值要用雙引號:你非要不肯加,瀏覽器幫你加。
    • 特殊字符的處理:You & Me 也好,You &amp; Me 也好,瀏覽器都能讀入。
    • 用 id 屬性代替 name 屬性:你非要用 name 也可以。

    如果你在文檔開始用 DocType 指定為 XHTML 了,有一點需要注意。在給 Tag 用 class 指定CSS 的時候,是區分大小寫的。例如,你定義了一個CSS如下,

    <style>
    .hello { ...... }
    </style>

    而你使用的時候寫成,

    <p class="Hello"> ......

    那這個CSS是不會被使用的。要積極的看待這個問題,這讓你可以用更多的名字來命名 Style,是一個好事。

    XHTML 標準的前途

    從 標準制定者的初衷看,制定 XHTML 標準是試圖把 HTML 規范成為嚴格的 XML 格式,這樣無可避免的會導致一個結果,就是從 HTML 到 XHTML 的升級導致標準的容錯能力降低了。把自己的網頁源文件寫得嚴格一點當然是好事,但是一個標準不可能去要求瀏覽器降低自己的容錯能力。

    XHTML 1.0 標準是兼容 HTML 4.01,是個不錯的協議,可以讓開發者在編寫代碼的同時通過一些工具來檢查代碼的合法性,雖然對于用戶而言,制作出來的網頁和 HTML 4.01 相比實在沒有什么不同。對于你寫新的網頁來說,使用 XHTML 1.0 還是一個不錯的選擇。

    XHTML 1.1 標準要求瀏覽器不再支持原先的容錯能力,這是一個標準制定者走火入魔的典型例子,這個標準從學術上說非常純凈,但是對于瀏覽器而言,則是個呆板、笨拙、不 可理喻的標準。所以目前所有由人類開發的瀏覽器都沒有遵照所謂純凈的 XHTML 1.1的標準,你的代碼只要瀏覽器能讀懂,他都會很好的顯示出來,而不跳出彈框報錯。

    從發展的趨勢來看,一個標準沒有瀏覽器服從,等于是沒有意義的標準。從瀏覽器的實現角度來看,新的協議只能在原來 HTML 的基礎上擴大能力增加容錯,而不能縮小了能力減少容錯。所以新的協議中,只有擴大能力增加容錯的部分會被采納,而其他部分都僅僅是紙上談兵而已。

     
    posted on 2009-12-23 14:08 seal 閱讀(168) 評論(0)  編輯  收藏 所屬分類: web
    主站蜘蛛池模板: 久久久久久久久免费看无码| 57pao一国产成视频永久免费| 亚洲人成综合在线播放| 日本免费一区二区三区| 亚洲电影中文字幕| 风间由美在线亚洲一区| 四虎永久精品免费观看| 免费国产a理论片| 国产精品亚洲不卡一区二区三区| 亚洲剧场午夜在线观看| 99re热免费精品视频观看| 亚洲综合伊人制服丝袜美腿| 日韩免费视频一区二区| 久久亚洲AV无码精品色午夜| 亚色九九九全国免费视频| 亚洲欧美日韩中文字幕在线一区| 91香焦国产线观看看免费| 亚洲国产综合第一精品小说| 成人无码区免费视频观看| 国产大陆亚洲精品国产| 亚洲桃色AV无码| 国产成人精品久久免费动漫| 亚洲av永久无码精品秋霞电影秋 | 亚洲精品A在线观看| 国产成人无码区免费网站| 亚洲人成无码网WWW| 曰批全过程免费视频在线观看无码| 亚洲视频在线观看地址| 午夜dj在线观看免费视频| av网站免费线看| 91亚洲国产成人久久精品| 午夜国产羞羞视频免费网站| 免费成人在线电影| 亚洲日韩一中文字暮| 亚洲日韩精品无码一区二区三区| 91香蕉成人免费网站| 亚洲午夜久久久久久尤物| 亚洲国产精品一区二区第一页免 | 久别的草原电视剧免费观看| 亚洲激情视频图片| 久久国产成人精品国产成人亚洲|