【发布时间】:2013-12-12 17:49:42
【问题描述】:
我最终在我的一个设计中将某些 div 的显示属性分别设置为 table/table-cell,以利用垂直对齐文本支持。但是,我现在有一些空白,我很难理解。
我的代码(JsFiddle:http://jsfiddle.net/p8zw2/):
HTML
<div class="container">
<p>Test</p>
<div class="mytable">
<div class="tablecell">test</div>
<div class="tablecell">test</div>
<div class="tablecell">test</div>
</div>
<p>Test</p> </div>
</div>
CSS
.container { width: 100%; background-color: #ff0000; }
.mytable { display: table; background-color: #4d4d4d; width: 94%; padding-left: 3%; padding-right: 3%; }
.tablecell { display: table-cell; width: 33%; }
正如您将在 jsfiddle 中看到的那样,红色背景现在在不应该出现的右侧边缘泄漏。 'mytable' 的 div 填充是每边 3%(总共 6%),因此将宽度设置为 94% 应该确保它填满容器。
将显示属性设置回“块”使其按预期工作,但随后我失去了垂直对齐功能 - 因此这证明它以某种方式归结为表格显示模式。
我已经尝试了各种方式来禁用可能导致它的所有其他填充、边距和边框,但都失败了。 Firebug/Chrome 开发工具没有进一步说明这个问题。
我不是在寻找解决方法(例如用于垂直对齐文本的行高等,我想尝试找出这个特定代码的问题)。
我是否遗漏了一些明显的/任何想法?
【问题讨论】:
标签: html css whitespace css-tables