浮動列は、より一般的で伝統的なアプローチです。Bootstrap と Foundation はどちらも float を使用します。ただし、各方法には欠点があり、どの欠点を受け入れたいかによって、どのルートを取るかが決まります。個人的にはインラインブロックの方が好きです。
浮き輪
フロートはセットアップが簡単です。これらのフロートの親要素にこのコードを追加すると、折りたたまれません。
.parent:after {
display: block;
content: ".";
clear: both;
height: 0;
visibility: hidden;
font-size: 0;
}
これを列 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;
フロートには、インライン ブロックが本来持つ余分な空白の問題がないため、合理的な選択ですが、JavaScript を使用しないインライン ブロックでできるように、フロートで縦方向に配置することはできません。
インラインブロック
インライン ブロックには、修正しなければならない空白の問題がありますが、見返りとして、要素の垂直位置を制御できるようになります。また、インライン ブロックの親は折りたたまれません。
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.
}
親に対して特別なことをする必要はなく、他の要素が親とどのように相互作用するかについてそれほど心配する必要はありません。しかし、どちらの方法も効果的で、インライン ブロックだけがもう少し有能です。