node.jsのアンインストール時にpkgとかbrewとかめんどくさかったので書いてく
shu sgw.today
flexbox使うんですけどなかなかプロパティとか覚えてないのでパッとみてわかるようにまとめてみました。上下中央寄せする方法とかもコードつきで書きます。
目次
display:flex;
.flex{
display:flex;
justify-content: center;
align-items: center;
}
折り返しせずに中の要素が増えた場合に再利用できるようなCSSを書いてます。中の要素が増えた場合は要素間の間を取るためにwidthを調整する必要があります。
<section class='box'>
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
</section>
.box{
background:pink;
display:flex;
justify-content: space-between;
flex-direction: row;
}
@media only screen and (max-width: 768px) {
.box{
flex-wrap: wrap;
flex-direction: column;
}
}
div{
width:30%;
background:red;
max-width:300px;
}
@media only screen and (max-width: 768px) {
div{
width:100%;
max-width:initial;
}
}
下の方のセクションです。
中の要素を増やしても画像サイズは小さくならず折り返します。space-betweenを使うと新しい行で要素の数が違うと真ん中に大きなスペースが空いてしまうことになるのでその場合は空の要素を使うか擬似要素を使って対処するしかないようです。一応BEMと言われるCSSアーキテクトに基づいてクラス名を定義しています。
<section class='box'>
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
</section>
//ここから追加
<section class='box box---wrap'>
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
<div class="c">d</div>
</section>
section{
margin:.5em 0;
}
.box{
background:pink;
display:flex;
justify-content: space-between;
flex-direction: row;
}
@media only screen and (max-width: 768px) {
.box{
flex-wrap: wrap;
flex-direction: column;
}
}
div{
width:30%;
background:red;
max-width:300px;
height:80px;
}
@media only screen and (max-width: 768px) {
div{
width:100%;
max-width:initial;
}
}
//ここから追加
.box---wrap{
flex-wrap: wrap;
}
flex-direction: row;
flex-direction: row-reverse;
flex-direction: column;
flex-direction: column-reverse;
flex-wrap: nowrap;
flex-wrap: wrap;
flex-wrap: wrap-reverse;
flex-flow: row wrap;
flex-flow: row nowrap;
flex-flow: column wrap;
flex-flow: column nowrap;
justify-content: start;
justify-content: end;
justify-content: center;
justify-content: space-between;
justify-content: space-evenly;
justify-content: space-around;
align-content: stretch;
align-content: flex-start;
align-content: center;
align-content: flex-end;
align-content: space-between;
align-content: space-around;
flex-grow:数値
flex-shrink:数値
flex-basis:数値
flex:grow shrink basis;
align-self: stretch;
align-self:flex-start;
align-self: center;
align-self:flex-end;
order:数値
こんな感じです。flexboxは便利ですが、ワードプレスで3コラム作ったりして中身が動的に変化する場合はいろいろと考えないといけない部分があるみたいです。
それではCyaaaaaaaaaaaaaa!!!