Flexboxを使いこなそう!-基本の書き方-

  • このエントリーをはてなブックマークに追加

仕様も安定していそうだしそろそろ現状のブラウザのシェアのことを考えるとガンガン使ってもいいかなと思うFlexbox。
各プロパティが豊富すぎてよく調べてしまうことになるので、使い方をまとめてみようと思います。
今回はとりあず入門ということで要素を横に並べる方法をご紹介します。

Flexboxって?

img
Flexboxとは、おおざっぱに言うと要素を簡単にレイアウトできるCSS3の新しい要素です。
今までは可変要素を同じ割合で並べたいときはcalcで計算。
横並びになっている複数個の要素の高さが不確定、かつ高さを全て一番高いものに合わせたい、なんて時にはjsを使っていたと思います。

それをFlexboxは簡単な記述で実現してくれます。



子要素をならべてみよう

img02
とりあえず上の画像のように、横に並べてみましょう。

HTML


CSS


DEMO

Flexboxは一見難しそうですが、とっかかりは意外と簡単です。

例えば要素を横に並べる、となったら今までは子要素に対してfloatやinline-blockなどの指定をかけていました。
Flexboxの場合は、親要素にdisplay: flex;の記述を書いてあげるだけで要素が横並びになってくれます。

今まではjsを使わないといけなかったテキストなどの分量が違う要素の高さを揃えるという面も、現状で解決してくれています。



子要素を同じ割合で並べてみよう

img03
上の画像のように、同じ割合で要素を横に並べてみます。これも簡単にできます。

CSS


DEMO

前項でご紹介したものに、flex: 1;を追加してみてください。
たった1行だけで要素が1:1の割合で並んでくれます。




子要素を違う割合で並べてみよう

img04
次はこんな感じで2:1の割合で並べてみましょう。
前項からの応用なのでなんとなく察しはつくかなと思います。

HTML


CSS

DEMO

割合を2にしたいところにはflex: 2;を指定。1にしたいところにはflex: 1;を指定するだけです。
ウィンドウサイズを変えてもずっと割合は保ってくれます。



片方は可変、片方は固定サイズで並べてみよう

img05
最後に、片方は可変、片方は固定サイズで並べてみます。

HTML


CSS

DEMO

固定にしたい部分は、px等でサイズを指定。可変にしたい箇所はflex: 1;を指定します。
今まではcalc等を使用していたところがこちらの記述のみで実現できるようになります。




今回はFlexboxの入門という感じでした。
まだ使ったことがないという方の参考になればと思います。

[追記] 新しい記事を書きました。

執筆者:工藤[ WEBデザイナー ]

WEBデザイナー。 最近はWordPressを触るのが好きです。よろしくお願いします。

関連記事

プログラミング

SharePointではできないこと 4選

「これってSharePointでできないの!?」なんていう瞬間、開発やカスタマイズの現場では意外と多くあります。SharePointはとても柔軟なプラットフォームですが、実は“万能ツール”ではありません。「コードを書けば何とかなる」と思って構築を進めると、モダンページの仕様や制限に阻まれて苦い思いをすることもしばしば。今回は、実際のプロジェクトや運用の中で見えてきた「SharePointではできないこと」をまとめて紹介します。 目次1 1.CSSとJSが直接使えない1.1 ク […]

Webサイト制作

WordPress納品後にクライアントが安心して運用できる仕組みづくりをしよう

ホームページ制作において、更新機能を手軽に導入できるのがWordPressです。 専門知識がなくても記事の投稿やページ編集を行いやすい一方で、クライアントが自分で運用するには、が欠かせません。 今回は、そのための仕組みづくりについてご紹介します。 制作側の方はもちろん、クライアント側でホームページ運用を担当される方も、制作時のご相談などにぜひ参考にしてみてください。 目次1 管理画面のロゴを企業ロゴに変更する2 管理画面のURLを変更する・認証などを付けてセキュリティ面を強化 […]

Webデザイン

アプリのロゴアニメーションをAfter Effectsで作成→Lottieに変換【iOS/Android対応】

こちらは、当社でリリースしたアプリ「ピンピタ」で使用しているロゴアニメーションです。 スプラッシュ画面でロゴが動くと、ぐっとアプリらしい印象になりますし、作ってみたいですよね。 今回は、After Effects(以降AE)でロゴアニメーションを作成し、アプリに組み込むまでをご紹介します。 AEと聞くと難しい印象がありますが、PremiereやFlashなどを触った経験がある方なら、すぐに慣れます。 もう一度再生 目次1 作業フロー1.1 注意点:グラデーションが使用不可2 […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。