marginについて - CSS
marginは周りのボックスとの距離
marginの相殺
これのせいでややこしくなるらしい。今はよくわかっていない。
上下のmarginは重なることもある(条件が揃わないと重ならない)
CSSのmarginとは?paddingとは?余白の指定方法まとめの4.marginの相殺にも書いてあった
このサイトのmarginは心の距離って表現面白い!!
marginの指定の仕方
paddingと同様に5つある
margin-top
margin-right
margin-bottom
margin-left
margin
また、margin
の場合での、値の数によって指定される位置もpaddingと同じ
bodyはデフォルトCSSで
margin: 8px;
となっている
ボックスを横並びにする
ボックスを横並びにするときには、floatを使った実装かflexboxを使った実装のどちらかがある。floatを使う場合には以下ポイントがある
- 並べたい要素を
div
で囲み、float
を解除する。overflow: hidden;
を適用 - 並べたい要素の
width
を指定 - 並べたい要素を
float
で浮かせる - 並べたい要素の左右のどちらかの
margin
を0
にする
See the Pen ボックスの横並び by tamago (@tamago324) on CodePen.
1.floatを解除する
floatは解除しないとレイアウトがくずれるため
.wrapper { overflow: hidden; }
2.横幅の指定
横幅を指定することで各コンテンツがきれいに並ぶため
.item { width: 100px; }
3.浮かせる
横並びにするにはfloat
で浮かせる
.item { float: left; }
4.左右のどちらかのmarginを0にする
これをすると、上下左右が等間隔になるため、きれいになる?
左右のmarginは相殺されないため、上下左右で同じ幅になる
.item { margin: 10px 0px 10px 10px }