我刚刚看过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。
在此先感谢您的帮助。