不能在表格元素上使用负右边距?

Par*_*ult 12 html css

我正在尝试在网格系统中使用table-cell元素,该系统利用行上的负边距来消除嵌套网格元素上的左右排水沟.这在浮动和内联块元素上工作正常,但是display: table在考虑负左边距时,忽略负右边距的元素:

具有负右边距的表

奇怪,是吗?一个简单的演示:http://jsfiddle.net/57FAN/1/

不幸的是,所有浏览器似乎都以相同的方式实现了这一点.有任何想法吗?

PS让我们推迟讨论table-*元素的布局,直到flex box标准化.

Wil*_*tal 6

该表不会忽略负边距,但宽度仅为100%,向左移动5px.你需要一个"100%+ 2*5px"来完全填充灰色区域.

该行没有宽度,因此使用可用的整个宽度.

如果你愿意的话

.row {
  margin: 0 -5px;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

你会看到宽度是相等的