XHTML 1.1,WordPress 和瀏覽器

剛才的文章提到,Wordpress 有個奇怪的特性,就是喜歡在某些 Tag (Block-level tag,例如 p, div, li, h1-6 etc.) 之後自動加插 </p>,而這也是很多我之前的文章不能在火狐正常顯示的原因。解決辦法就是在寫文章的時候加一個 \n 在每個 block level element 之後,讓 WordPress 也懂在 tag 之前加入 <p>。

好了,辛苦了整晚檢查 Firefox 也可以把舊文章正常顯示出來以後,滿以為網頁可以通過 W3C 的 validator,怎知道它居然罵我那個<br /> 不可以用 clear 這個 attribute。

文章結構

當然我知道 1.1 不可以用 clear,但問題是有些文章有左邊那幅圖的結構:圖片偏左(使用 CSS 以及 div),文字偏右,然而我不想段落三也貼著段落二的尾部,被圖片壓成一堆。當時我知道唯一的解決辦法便是用 <br clear=”all” />,不過這樣就不符合 XHTML 1.1。
今天就找過一下 Google 看看有沒有人和我一樣遇上這樣的慘況。首先找上的是這篇,不過 <br style=”clear: all;” /> 只適合在 IE 上使用,Firefox 卻不理會。第二個方案則完全不行,因為一個<br /> 只能跳一行,遇上幾行空白就無用武之地。

在那篇文章的留言看見另一篇文章的連結,說要在不同的 block element 加入這個 attribute 而放棄 <br />。知道<p>會出現問題,所以便選擇了用<div>:

<div style="clear:both;"></div>

呼,以這個代替 br 便輕鬆解決了 XHTML 1.1 和 Firefox 的兼容問題~

6 thoughts on “XHTML 1.1,WordPress 和瀏覽器

  1. 要做到一兩個版面完全符合 XHTML 1.1 不太難,要整個 blog 符合就較難了。我也正向全網站符合 XHTML 標準邁進,得要每篇舊文章都檢查,寫新文章也要很小心呢,plugin 也要試清楚。

    另外,MK 你提到的 WordPress 加插 P tag ,是否 Textile 1 或類似的 plugin 作祟呢?我記得之前我也遇過類似的情況,不記得是否這個 plugin 惹的禍,但我現在的 WordPress (1.5.2) 是沒有這個問題的。

  2. 說起 plugin,因為要符合 XHTML 1.1,便把 Spam Karma 關掉,改用 Akismet… 而我的 TSP 也有點不符合而必須作點修改。
    而自己的文章今天花時間看了一篇,應該也符合 XHTML 1.1 的標準。

    反而 textile 之類的 plugin 我看過自己應該沒有用… 不知道是甚麼問題呢…

Leave a Reply

Your email address will not be published. Required fields are marked *