【发布时间】:2013-09-06 11:58:03
【问题描述】:
我刚刚看过 http://csswizardry.com/2013/02/introducing-csswizardry-grids/ 及其演示 (http://csswizardry.com/csswizardry-grids/)。我认为这是在 CSS 中解决网格的一个很好的方法。所以我检查了源代码,看看它是如何完成的,我看到了一件小事,我无法真正弄清楚它是如何完成的。
这个网格系统没有使用浮点数,而是使用内联块元素,这是一件好事。但是每次我将内联块用于百分比宽度列/网格等时,我都有这个内联块间距。我知道有几种方法(主要是更改您的 HTML)来消除这种间距:http://css-tricks.com/fighting-the-space-between-inline-block-elements/
但在网格系统中,我向您展示了没有这些修复(据我所知),如果您检查源代码,仍然根本没有行内块间距。只是为了向您展示我在这里遇到的主要问题是一个快速的小提琴:http://jsfiddle.net/nN8mV/
HTML
<p>Floating columns (width 33.3%)</p>
<div class="grid cf">
<div class="grid__item">Test</div>
<div class="grid__item">Test</div>
<div class="grid__item">Test</div>
</div>
<p>Inline Block columns (width 33.3%)</p>
<div class="grid grid--inlineblock">
<div class="grid__item">Test</div>
<div class="grid__item">Test</div>
<div class="grid__item">Test</div>
</div>
CSS
.grid {
margin-bottom: 20px;
}
.grid__item {
float: left;
width: 33.3%;
background: red;
}
.grid--inlineblock .grid__item {
float: none;
display: inline-block;
}
您可能知道,但是 33.3% 的宽度不起作用,因为这个间距。网格系统似乎没有这个问题,尽管它也使用“显示:内联块”。所以我的问题是:CSS Wizardy 是如何解决这个问题的?我想不通,并且更改 HTML(请参阅上面的 CSS 技巧链接)并不经常起作用,因为 CMS 生成的内容或其他内容,您无法调整您的 HTML。
提前感谢您的帮助。
【问题讨论】: