CSS3 から使えるようになった新しいプロパティ display:table;
とdisplay:table-cell;
は、これまで[float]を使って組んでいたレイアウトを、より直感的に、より簡単に実現できるので大変便利です。
しかし display:table-cell;
で指定したボックスには[margin]が効かないというデメリットもあります。
ここで紹介するのは、[border-collapse]と[border-spacing]を使ってセルの間隔を調整する方法です。
基本的に display:table;
で指定した要素は、所謂「table」として扱われるので、当然[border-collapse]と[border-spacing]も効くようになります。
[border-collapse]はセルのボーダーを重ねるか間隔を空けるかを、[border-spacing]はどれぐらいの間隔を空けるのかを設定できます。
単位は「px」や「em」などで指定できて、display:table;
を指定した要素に対して追加します。
セル同士の間隔を空けない場合
.table { display:table; margin:0 auto; border-collapse:collapse; }
セル同士の間隔を空けたくない場合、上記のように[border-collapse:collapse;]を指定します。
セル同士の間隔を空ける場合
.table { display:table; margin:0 auto; border-collapse:separate; border-spacing:2px 0; }
セル同士の間隔を空ける場合は border-collapse:separate;
を指定します。
さらに、上記の例では border-spacing:2px 0;
として、セルの左右に 2px づつの間隔を空けるように指定しています。
最近のウェブデザインのトレンドで[display:table;]は使いどころが多くなってきています。
ぜひお試しください。