国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    XHTML標(biāo)簽寫(xiě)法應(yīng)該注意的問(wèn)題
    發(fā)布時(shí)間:2008-04-24   瀏覽次數(shù):1184861

    XHTML標(biāo)簽寫(xiě)法應(yīng)該注意的問(wèn)題

    XHtml里面的img標(biāo)記應(yīng)該這樣寫(xiě):<img alt="" src="" />,這種寫(xiě)法也是所謂的自關(guān)閉,在XML中是完全合法的寫(xiě)法。如果你熟悉XML相關(guān)的開(kāi)發(fā),可能也習(xí)慣于這種寫(xiě)法,想著XML中任何不含子節(jié)點(diǎn)的元素都可以這樣寫(xiě),那么XHTML中沒(méi)有內(nèi)容的標(biāo)簽也都可以這樣寫(xiě)。XHTML中理論上當(dāng)然允許任何標(biāo)簽以自關(guān)閉的方法來(lái)書(shū)寫(xiě),然而瀏覽器兼容性卻帶來(lái)了新問(wèn)題,那是IE無(wú)法正確識(shí)別某些標(biāo)簽的自關(guān)閉寫(xiě)法。

    請(qǐng)嘗試輸入以下XHTML代碼并在IE中瀏覽:<p>hello <script type="text/javascript" /> world</p>,你會(huì)發(fā)現(xiàn)只能看到前面的hello而不見(jiàn)后面的world,這事情讓人挺無(wú)法解釋的吧。可能有不少人都曾經(jīng)遇到過(guò)這個(gè)問(wèn)題,并且花了幾個(gè)小時(shí)在上面都找不到合理的解釋。

    解釋源自另外一段類(lèi)似的代碼:<p>hello <textarea /> world</p>,你在IE中看看其顯示效果,能夠得到合理的解釋了嗎?我們能夠看到前面的hello正常顯示了,而后面的world則顯示在textarea里面,這證明IE并沒(méi)有正確識(shí)別textarea標(biāo)簽已經(jīng)自關(guān)閉了,而是當(dāng)它沒(méi)有關(guān)閉,并將后面的內(nèi)容識(shí)別為textarea內(nèi)部的內(nèi)容。

    這時(shí)候我們明白前面那段代碼為什么看不到后面的world了,因?yàn)樗划?dāng)作script的一部分來(lái)識(shí)別了。這說(shuō)明了,在我們使用XHTML時(shí)并不能好像XML那樣隨意的使用自關(guān)閉的寫(xiě)法,只有少數(shù)原本不需要關(guān)閉的標(biāo)簽可以用自關(guān)閉的寫(xiě)法,其他標(biāo)簽即使沒(méi)有任何內(nèi)容也用成對(duì)的關(guān)閉寫(xiě)法。


    需要提醒大家的是,其實(shí)弱智的parser不僅僅IE有,很多地方都可能碰到由于parser不嚴(yán)謹(jǐn)而引起的問(wèn)題,所以我們?cè)跁?shū)寫(xiě)XHTML的時(shí)候還是要遷一些老HTML繼承下來(lái)的習(xí)慣,不能好像真的XML那樣自以為符合標(biāo)準(zhǔn)了隨意寫(xiě)。不信?那么再試一個(gè)吧:<p>hello <br></br> world</p>,留意IE與Opera中的顯示效果。

    XHTML一些相關(guān)的規(guī)范:

    1.所有的標(biāo)記都必須要有一個(gè)相應(yīng)的結(jié)束標(biāo)記

    2.所有標(biāo)簽的元素和屬性的名字都必須使用小寫(xiě)

    3.所有的XML標(biāo)記都必須合理嵌套

    4.所有的屬性必須用引號(hào)""括起來(lái)

    5.把所有<和&特殊符號(hào)用編碼表示

    6.給所有屬性賦一個(gè)值

    7.不要在注釋內(nèi)容中使“--”

    立即預(yù)約