border-collapse
Updated / Published
border-collapseプロパティは表の枠(ボーダー)の表示モデルに結合ボーダーモデル、または分離ボーダーモデルのどちらを用いるのかを指定します。なお、border-collapseプロパティは子要素に継承されるので、table要素を内包できるdiv要素などに border-collapseプロパティを指定することでも、親要素から子要素の table要素へとその指定が継承されます。
border-collapseプロパティの値
border-collapseプロパティに指定できる値のキーワードはそれぞれ以下の意味を示します。
collapse- 結合ボーダーモデルを用いて、セルを結合して、表の端から端まで連続した枠で表示させる(結合表示)
separate- 分離ボーダーモデルを用いて、各セルの周囲に分離した枠を表示させる(分離表示)
"collapse" の表示モデルを「結合ボーダーモデル(collapsing border model)」と呼び、"separate" の表示モデルを「分離ボーダーモデル(separated borders model)」と呼びます。
CSS2 仕様における初期値は "collapse" となっていましたが、実際の主要視覚ブラウザの実装における初期値は分離表示の "separate" となっていることから、CSS2.1 仕様では UA の実装状況にあわせて初期値が "separate" へと変更されています。
border-collapseプロパティの実装状況
- IE
- ◯
- Firefox
- ◯
- Opera
- ◯
- Chrome
- ◯
- Safari
- ◯
- iOS
- ◯
- Android
- ◯
サンプル
.collapse { border-collapse : collapse ; }
.separate { border-collapse : separate ; }
table,th,td { border : 1px solid #666 ; }
CSS2 仕様における初期値は "collpase" ですが、実際の主要視覚ブラウザは "separate" では初期値に設定されていたため、CSS2.1 仕様では "separate" に変更されました。CSS2 適合 UA に関わらず、ボーダーの結合表示を行いたい場合には、"border-collapse : collapse ;" を明示する必要があります。
なお、"separate"の場合は、"collpase"に比べてborder-spacingの値分、横幅・縦幅が大きくなることになります。