LoginSignup
9
7

More than 5 years have passed since last update.

[phiary] CSS tips - Flexbox レイアウトでヘッダーナビゲーションを作ってみよう

Last updated at Posted at 2016-05-13

こちらで見るとページ内でデモの実行, 編集ができます

今回は Flexbox を使ってヘッダーナビゲーションを作る方法を紹介します.

今までは float もしくは display: inline-block でやるのが定石だったと思うのですが Flexbox を使えばもっとカンタンかつ柔軟なヘッダーナビゲーションを作ることができます.

Demo

Points

Flexbox 化して横並びにしよう

基本ですね. display: flex を指定して flexbox 化することで横並びにします.

nav {
  display: flex;
}

justify-content でそれぞれ画面端に寄せよう

justify-content を指定することで flexbox 内の要素を, 主軸(デフォルトでは横(row)) に添ってどう並べるかを変更することができます.

今回は div.title は左寄せ, ul は右寄せにしたいので下記のように指定しています.

nav {
  justify-content: space-between;
}

align-items で縦揃えを調整しよう

align-items は, 主軸と垂直方法の軸に対してどう並べるかを指定できるプロパティです.
今回は立て揃えは中央にしたいので下記のように指定しています.

nav {
  align-items: center;
}

ul と a タグをリセットしよう

ul タグや a タグはブラウザがデフォルトでいくつかスタイルを当てています.
これが地味に邪魔だったりするのでしっかり把握してリセットしてあげましょう.

ulmargin, padding, list-style をリセットします.

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a タグは color, text-decoration をリセットします.

a {
  color: inherit;
  text-decoration: none;
}

Flexbox にもだいぶ慣れてきました.
アウトプットがてらいくつか事例を交えつつ Flexbox を学べるエントリーを書いていこうと思います.

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7