border-collapse
web creators 11月号に気になる記事があった
統合ボーダーモデルでは、その名の通りボーダーが統合された状態で表示される。各ボーダーモデルはセル間を中心に表示されることになる。テーブル上下左右にはボーダーの半分がはみ出すので注意が必要だ。
今まで統合ボーダーモデルを選んだ時のtableにかかるborderはtableの外にかかるものだと思い込んでた(苦)気になったのでborder-collapseをcollapse(統合ボーダーモデル)、tableとtd,thのborderに1px solidのプロパティを与え、各ブラウザでどのように表示されるか調べてみた。
- Win Firefox...左に1pxはみ出す
- Win IE6...tableの内側に表示
- Mac Safari...右に1pxはみ出す
- Mac Firefox...左に1pxはみ出す
borderに1px以上のプロパティを与えてやるとWin IE6以外のブラウザは、ボーダーの半分がはみ出した。てな訳で本に書かれてたborder-collapseをseparate(分離モデル)にし、tableのborder-spacingプロパティを0、borderプロパティのright,bottomにそれぞれ値を、さらにWin IE用にHTML上tableタグのcellspacingプロパティを0、td,thのborderプロパティのleft,topにそれぞれ値を与えてあげるのが良いようだ。
メモとして一例を追記しておきます
※この記事は2006年10月3日にエントリーした内容です。2009年10月22日に新しい記事をエントリーしました。こちらも参考ください。
- 関連エントリー
- border-collapseについて再度調査してみた
CSS Code
table.separateBox {
border-collapse: separate;
border-right: 1px solid #666;
border-bottom: 1px solid #666;
border-spacing: 0;
background: #FFF;
margin: 10px auto;
}
table.separateBox th,
table.separateBox td {
border-top: 1px solid #666;
border-left: 1px solid #666;
padding: 2px 5px;
line-height: 1.3;
}


1
tableにborder-collapse:collapseのcssを適用し、firefox3で閲覧したのですが、1pxずれませんでした。
できましたら1pxずれるソース(上記gif画像のソース)の掲載をお願いできますでしょうか。
お願いします。
2
>ttksさん
コメントありがとうございます。
この記事を書いたのが2006年ですのでFirefoxのバージョンもまだ2だったと思います。
Firefox3と3.5で検証してみたいと思いますので検証済み次第記事を追記したいと思います。
3
>ttksさん
新しい記事をエントリーし、そちらにキャプチャー画像を公開いたしました。
ちなみにFirefox3はWindows,Macintoshどちらの環境も左に1pxずれが生じました。