定番
新着
履歴

CSS3 flexを使った配置3(行間の操作)

CSS3 flexを使った配置3(行間の操作)

以前掲載した、flexで配置した時の改行のサンプルに続き、行全体の配置のサンプルです。

まずは共通のスタイルを用意します。

<style>
.demo_box{
	background: #AAA;
	height: 210px;
	max-width:400px;
	margin:0 0 10px;
	overflow: hidden;
}
.demo_item {
	background: #FFF;
	width: 80px;
	height: 80px;
	margin: 0px;
	box-sizing: border-box;
	border:solid 1px #999;
	font-size: 30px;
	line-height: 68px;
	text-align: center;
}
</style>

まず、親要素の上の面に詰めて配置するパターン

A
B
C
D
E
F
G
H
<style>
.flex_box1{
	display: flex;
	align-content: flex-start;
	flex-wrap: wrap;
}
</style>

<div class="flex_box1 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
	<div class="demo_item">E</div>
	<div class="demo_item">F</div>
	<div class="demo_item">G</div>
	<div class="demo_item">H</div>
</div>

スタンダードな感じです。


次は親要素に対して、高さをセンターに寄せるパターン

A
B
C
D
E
F
G
H
<style>
.flex_box2{
	display: flex;
	align-content: center;
	flex-wrap: wrap;
}
</style>

<div class="flex_box2 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
	<div class="demo_item">E</div>
	<div class="demo_item">F</div>
	<div class="demo_item">G</div>
	<div class="demo_item">H</div>
</div>

なんだかパワーポイントなどでよく使いそうな配置ですね。


次は親要素の底面に寄せるパターン

A
B
C
D
E
F
G
H
<p class=down >次は親要素の底面に寄せるパターン</p>
<style>
.flex_box3{
	display: flex;
	align-content: flex-end;
	flex-wrap: wrap;
}
</style>

<div class="flex_box3 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
	<div class="demo_item">E</div>
	<div class="demo_item">F</div>
	<div class="demo_item">G</div>
	<div class="demo_item">H</div>
</div>

少し重そうな印象です。


以下は横列ごとのスペースの指定です。

横列同士の間に等間隔のスペースを空けるパターン

A
B
C
D
E
F
G
H
<style>
.flex_box4{
	display: flex;
	align-content: space-between;
	flex-wrap: wrap;
}
</style>

<div class="flex_box4 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
	<div class="demo_item">E</div>
	<div class="demo_item">F</div>
	<div class="demo_item">G</div>
	<div class="demo_item">H</div>
</div>

2行より3行以上のときに使ったほうがしっくりきそうです。


次は横1列に対して上下にスペースを空けるパターン

A
B
C
D
E
F
G
H
<style>
.flex_box5{
	display: flex;
	align-content: space-around;
	flex-wrap: wrap;
}
</style>

<div class="flex_box5 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
	<div class="demo_item">E</div>
	<div class="demo_item">F</div>
	<div class="demo_item">G</div>
	<div class="demo_item">H</div>
</div>

パッと見やすい印象があります。個人的には等間隔でないところが気になりますが。

最後に、そもそも横ではなく縦のカラムで見せたいパターン

A
B
C
D
<style>
.flex_box6{
	display: flex;
	flex-direction: column;
}
</style>

<div class="flex_box6 demo_box">
	<div class="demo_item">A</div>
	<div class="demo_item">B</div>
	<div class="demo_item">C</div>
	<div class="demo_item">D</div>
</div>

親要素の縦を指定しているので、子要素が切れていますが、何かに使えそうです。

このflexの指定を使わない場合、floatやJSで一工夫が必要でした。

需要があるということで誕生したのだと思うので、利用シーンや今後の進化は追っていきたいと思います。

2018-09-07 12:35:49
このページの二次元コード

関連するサンプル

人気記事ランキング

© 2018 kipure
Top