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 Comments

  1. sidekick says:

    我大部份時間,用全形space o黎加行… :p

  2. BCSEEATI says:

    用 <br style=”clear: both;” /> 也可以

  3. mk says:

    呀呀,原來<br style=”clear: both;” /> 更方便!謝謝 BCSEEATI~

    另 sidekick: 用 space 不怕不同瀏覽器不同解析度會出現問題嗎?

  4. Madthiu says:

    好文章!!! 這個排列格式我好經常用呢,為將來的首頁能通過更加新的 XHTML 標準,看來要想想該如何整理所有 CSS 的問題了…

  5. Clement T says:

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

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

  6. mk says:

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

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

Leave a Reply


Fatal error: Cannot redeclare remove_accents() (previously declared in /home/mk_is_here/public/wp-includes/formatting.php:564) in /home/mk_is_here/public/wp-content/plugins/SK2/sk2_plugins/acc0d.php on line 105