2011年7月16日 星期六

【HTML】真正無框線表格


長久以來我在做網頁的時候一直有一個困擾,就是當我想要用 table 來拼貼圖片(我當然知道這不很符合 HTML 正規劃的精神,但真的碰到案子很趕的時候根本沒有美國時間計較這個)的時候,用盡各種 CSS 語法就是他媽的還是會有框線顯示。

到昨天終於受不了,花了一個晚上認真去查到底要怎麼解決「表格去邊框」這個鳥問題。

最後終於放棄 CSS,想到回歸 HTML 的基本原理去查 table 的屬性。

首先是發現 rules 這個 table 屬性跟 border-collapse 這個 CSS 屬性管的是一樣的東西,也就是說
rules="none"
跟
#menu {
    border-collapse:collapse;
}
是一樣的,都能讓砍掉外框線 (如下圖)。


都已經把框線廢了,剩下那些隙縫是怎麼回事?

原來 table 還有個「儲存格內間距」這種東西,屬性名稱叫 cellpadding,一試之下果然把縫隙處理的乾淨溜溜!


既然有這個屬性作線索總該找的到 CSS 的做法吧? 一查之下差點沒吐血,cellpadding 就是 td 在CSS 的 padding 而已。
#menu td {
    padding:0 0 0 0;
}
總算是解決了這個長久以來的心頭大患。

參考資料:就是愛程式MSDN

5 則留言:

  1. 謝謝分享^^
    真的是心頭大患阿XDDD

    回覆刪除
  2. 謝謝分享!!
    我正為這個問題苦腦了一個早上
    偶然間搜尋到大大的文章
    解決了我的問題
    太感謝了!!!

    回覆刪除
  3. 直接把table的border="0" 就可以達到效果了 何必這麼麻煩

    回覆刪除
    回覆
    1. 我在 Chrome 上用 JSFiddle 試你這個方法沒效

      刪除