Jeśli to możliwe, używaj przezroczystych ramek.
JSFiddle Demo
https://jsfiddle.net/74q3na62/
HTML
<div class="table">
<div class="row">
<div class="cell">Cell 1</div>
<div class="cell">Cell 2</div>
<div class="cell">Cell 3</div>
</div>
</div>
CSS
.table {
display: table;
border: 1px solid black;
}
.row { display:table-row; }
.cell {
display: table-cell;
background-clip: padding-box;
background-color: gold;
border-right: 10px solid transparent;
}
.cell:last-child {
border-right: 0 none;
}
Wyjaśnienie
Możesz użyć tej border-spacing
właściwości, jak sugeruje zaakceptowana odpowiedź, ale to nie tylko generuje przestrzeń między komórkami tabeli, ale także między komórkami tabeli a kontenerem tabeli. To może być niepożądane.
Jeśli nie potrzebujesz widocznych obramowań komórek tabeli, powinieneś użyć transparent
obramowań do wygenerowania marginesów komórek. Przezroczyste obramowania wymagają ustawienia, background-clip: padding-box;
ponieważ w przeciwnym razie kolor tła komórek tabeli jest wyświetlany na obramowaniu.
Przezroczyste obramowanie i klip w tle są obsługiwane od IE9 w górę (i wszystkich innych nowoczesnych przeglądarek). Jeśli potrzebujesz zgodności z IE8 lub nie potrzebujesz rzeczywistej przezroczystej przestrzeni, możesz po prostu ustawić biały kolor obramowania i pominąć background-clip
.
position: relative
.