これは 第21回 WordPress 勉強会@松戸 で使用した資料です。
Flexible Box Layout Module
CSS3のレイアウトモジュールで、今までより少ないコードでより柔軟なレイアウトを表現できる。
[index.html]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>WP勉強会@松戸</title>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<nav>
<ul class="main-nav">
<li><a href="#" class="title">タイトル</a></li>
<li><a href="#">メニュー1</a></li>
<li><a href="#">メニュー2</a></li>
<li><a href="#">メニュー3</a></li>
<li><a href="#">メニュー4</a></li>
</ul>
</nav>
</body>
</html>
[style.css]
.main-nav a { margin: 10px; padding: 16px; border-radius: 5px; background: green; color: #fff; display: block; text-decoration: none; } .main-nav .title { background: blue; }
[style.css]
.main-nav { display: flex; }
[style.css]
//等間隔に横並び .main-nav { justify-content: space-between; }
//中央寄せ .main-nav { justify-content: center; }
//右寄せ .main-nav { justify-content: flex-end; }
//タイトルだけ左端に .main-nav li:first-child { margin-right: auto; }
//垂直方向をセンタリング .main-nav { align-items: center; } //垂直方向を下揃え .main-nav { align-items: flex-end; }
指定前
//横幅を合わせる .main-nav li{ flex-basis: 150px; //横幅(width)を指定 } //伸びる倍率(均等幅で余白を埋める) .main-nav li{ flex-grow: 1; }
指定前
指定後
//最初を2倍に .main-nav li:first-child{ flex-grow: 2; }