flexboxで簡単レイアウト

flexboxで簡単レイアウト

  • 2018-07-07  最終更新日:2018-07-07

Flexbox(Flexible Box Layout Module)とは今時のレスポンシブに対応したレイアウトスタイルです。上下中央の配置や等間隔の配置、固定幅と可変幅の配置など使い方は様々、3カラムレイアウトも組めます。IE11以降のモダンブラウザは対応しておりますので問題ないかと思います。

しかし、そろそろGrid Layoutも使われつつあります。格子状のレイアウト、ページ全体のレイアウトはGrid Layoutが有効で、横並びのレイアウトはflexboxが向いているので状況に応じて使ってみましょう。


flexbox基本例

基本的にdisplay:flexとすれば直下の子要素だけがflexスタイルになります。簡単な例です。

.flexbox-1{
	display: flex;
}
.items-1{
	width:150px;
	background-color:#eee;
	text-align:center;
	padding:5px;
	border:1px solid #999;
}
<div class="flexbox-1">
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
</div>

上記のスタイルを当てると以下のようになります。

アイテム
アイテム
アイテム
アイテム

並んで表示されていますね。

次は右のロゴを入れたパターンです。

.flexbox-1{
	display: flex;
}
.items-logo{
	margin-right: auto;
	background-color:#eee;
	padding:5px;
	border:1px solid #999;
}

.items-1{
	width:150px;
	background-color:#eee;
	text-align:center;
	padding:5px;
	border:1px solid #999;
}
<div class="flexbox-1">
	<div class="items-logo">ロゴ</div>
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
	<div class="items-1">アイテム</div>
</div>

以下のように表示されます。

アイテム
アイテム
アイテム
アイテム

今度は均等に配列させます。

.flexbox-2{
	display: flex;
	justify-content: space-between;
}
.items-2{
	width:150px;
	background-color:#eee;
	text-align:center;
	padding:5px;
	border:1px solid #999;
}
<div class="flexbox-2">
	<div class="items-2">アイテム</div>
	<div class="items-2">アイテム</div>
	<div class="items-2">アイテム</div>
	<div class="items-2">アイテム</div>
</div>

上記のスタイルを当てると以下のようになります。均等に並びましたね。

アイテム
アイテム
アイテム
アイテム

次は上下中央に配置する方法です。

.flexbox-3{
	display: flex;
	justify-content: center;
	align-items: center;
}
.items-3{
	width:200px;
	background-color:#eee;
	padding:5px;
}
<div class="flexbox-3">
	<div class="items-3">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</div>
</div>

上記のスタイルを当てると以下のようになります。上下中央に配置されましたね。

テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト

まだまだいろいろとできますが、私は以下のゲームをやって理解しました。やりながら配置する場所を認識できるので良いかと思います。

その他参考になるサイトも載せておきます。

参考になれば幸いです。


∞Tadashi Suyama∞

css flexbox
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
そろそろvuejs始める

最近はjQueryよりvueで書いた方が楽ではないかと思い学習中です。 そもそもVuejsはドキュメントが日本語対応なので試しやすいし情報も豊富なので学習しやすいです。 3大フレームワークと呼...

02 May 2021

アイキャッチ
追い風CSS(tailwindcss)が結局楽かも

最初にtailwindcssのv1が出た頃はまだbootstrapで良いかな。 htmlに入れるクラスタグが多過ぎと思っていました。あまり良い印象はなかったです。 時は過ぎいろいろと触っていると...

29 Apr 2021

アイキャッチ
エラー処理について

COJPドメンを取得する際に「登記年月日」という項目があります。 その項目通り登記した年月日を入れる訳ですが、なぜかエラーが出ました。 半角英数字にして下さいというよくあるエラーです。当然半角英...

24 Jan 2021

アイキャッチ
javascriptのundefinedの判定

jqueryで高さの数値をとって足し算をしていたらエラーも出ずに動かないということになったので調べてみました。 ワードプレスで管理画面のアドミンバーが一度ログインするとフロント画面でも表示される...

17 Jan 2021

アイキャッチ
Webpack5にアップデートしてエラーの対処方法2つ

webpack4(4.41.5)から webpack5(5.12.1)にあげました。 特に難しい設定は行っておらず主にscssと共通モジュールの設定だけで使っているのですがそれでもエラーが出たの...

09 Jan 2021

著者

ウェブエンジニアの須山のブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

タグクラウド

css flexbox
フッターイメージ