私は偽のテーブルを持っています。 border-spacingプロパティを使用して、それらの間にスペースを作成します。ただし、これにより、最初のセルの前と最後のセルの後に間隔が作成されます。
この2つの列の間にのみスペースを作成したいと思います。
HTML:
<div class="table">
<div class="cell"></div>
<div class="cell"></div>
</div>
CSS:
.table {
display: table;
width: 100%;
border-spacing: 11px 0;
border: 1px solid #222;
}
.cell {
display: table-cell;
width: 50%;
height: 20px;
border: 1px solid #999;
background: #ccc;
}
JSFiddle: http://jsfiddle.net/ACH2Q/
Border-spacingプロパティを使用して、すべてのテーブルセルに間隔を追加できます。次に、margin-leftとmargin rightを使用して、親から外側の境界間隔を削除します。
.container {
max-width: 980px;
margin: 0 auto;
overflow: hidden;
}
.grid {
margin-left: -20px; /* remove outer border spacing */
margin-right: -20px; /* remove outer border spacing */
}
.row {
display: table;
table-layout: fixed; /* keep equal cell widths */
width: 100%; /* need width otherwise cells aren't equal and they self collapse */
border-spacing: 20px 0; /* best way to space cells but has outer padding */
}
.col {
display: table-cell;
vertical-align: top;
}
唯一の欠点は、テーブルに幅100%が必要であり、右マージンが機能しないため、追加のネストされたdivが必要になることです。
<div class="container">
<div class="grid">
<div class="row">
<div class="col">col</div>
<div class="col">col</div>
<div class="col">col</div>
</div>
</div>
</div>