横の行に4つのdivがあります。私はdivsの間にスペースを入れたいと思う(マージンを使っていると思う?)が、私がそうすると、divはその親コンテナをオーバーフローさせる。ゼロ余裕を持ってdiv間の間隔を水平行に入れますか?
、彼らは一行にうまく並ぶ:私は5pxのマージンを導入する際
<div style="width:100%; height: 200px; background-color: grey;">
<div style="width: 25%; float:left; margin: 0px; background-color: red;">A</div>
<div style="width: 25%; float:left; margin: 0px; background-color: orange;">B</div>
<div style="width: 25%; float:left; margin: 0px; background-color: green;">C</div>
<div style="width: 25%; float:left; margin: 0px; background-color: blue;">D</div>
</div>
さて、最後のボタンはラップ:
<div style="width:100%; height: 200px; background-color: grey;">
<div style="width: 25%; float:left; margin: 5px; background-color: red;">A</div>
<div style="width: 25%; float:left; margin: 5px; background-color: orange;">B</div>
<div style="width: 25%; float:left; margin: 5px; background-color: green;">C</div>
<div style="width: 25%; float:left; margin: 5px; background-color: blue;">D</div>
</div>
これは、width属性がパーセンテージの場合、要素の合計幅に対してマージンを考慮しないためです。これを行う正しい方法は何ですか?
おかげ
[レイアウトを壊すことなくCSS本部幅パーセンテージ及びパディング(の可能重複http://stackoverflow.com/questions/3538875/css-div-width-percentage-and-padding -without-breaking-layout) –
ラッパーdivとして余白のない既存のdivをそのまま使用します。すべてのdivで、コンテンツを保持し、幅とマージンを持たない別のdivを入れます。 –