我有一个假的桌子我使用border-spacing属性在它们之间创建一个空格.但是这也会在第一个单元格之前和之后的单元格之间创建间距.
我希望它在这两列之间创建一个空格.
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属性为所有表格单元格添加间距.然后使用左边边距和右边距去除父边框的外边距.
- .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;
- }
唯一的缺点是需要额外的嵌套div,因为表需要宽度100%,边距权不起作用.
- <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>