剛才的文章提到,Wordpress 有個奇怪的特性,就是喜歡在某些 XHTML 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 的兼容問題~