浮动柱是更常见和传统的方法。Bootstrap 和 Foundation 都使用浮点数。但是,每种方法都有其缺点,它决定了您想要忍受哪些缺点将决定您将采取哪条路线。我个人更喜欢内联块。
花车
浮动更容易设置。如果将此代码添加到这些浮动的父元素,它不会折叠。
.parent:after {
display: block;
content: ".";
clear: both;
height: 0;
visibility: hidden;
font-size: 0;
}
将此添加到 col 1、2 和 3 以使它们浮动并赋予它们单独的宽度:
col1, col2, col3 {
display: block;
float: left;
}
您可能还考虑添加border-box
这样的填充和边框不会折叠您的网格。
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
浮点数没有 inline-block 自然存在的额外空白问题,因此这是一个合理的选择,但是您不能像在没有 JavaScript 的 inline-blocks 中那样在浮点数中垂直定位事物。
内联块
内联块有一个必须解决的空白问题,但奖励是您可以控制元素的垂直定位。内联块的父母也不会在他们身上崩溃。
col1, col2, col3 {
display: inline-block;
margin-right: -0.25em; //This removes the white space created by the "inline" properties of this display type
vertical-align: top; //Inline-block naturally aligns to the bottom, so this will give it more expected behavior.
}
您不必对父元素做任何特别的事情,也不必担心其他元素将如何与之交互。但是这两种方式都有效,只有 inline-block 更强大一点。