最新ブラウザで利用できるCSS3 flexbox を利用した、ナビゲーションメニューのサンプルを作成しました。
・メニューは均等配置になります。
・リンクテキストが複数行になっても、要素の縦方向センター揃えになるようになっています。
Flexbox ナビゲーションメニュのサンプル
まずは html から。Bootstrap 3.x に配置した場合
<div class="container"> <div class="row"> <div class="col-sm-12"> <ul class="test"> <li><a href="">メニュー1</a></li> <li><a href="">メニュー2メニュー2</a></li> <li><a href="">メニュー3メニュー3メニュー3</a></li> <li><a href="">メニュー4</a></li> <li><a href="">メニュー5</a></li> <li><a href="">メニュー6</a></li> </ul> </div> </div> </div>
続いて CSS 。
リンク<a> を display:inline-flex; にすることで、縦方向センター揃えを実現しています。
<style> .test{ margin: 0; padding: 0; list-style: none; width: 100%; display:flex; flex-wrap: nowrap; justify-content: space-around; align-items: stretch; } .test li { width:100%; border-left:solid 1px #ededed; } .test li:last-child { width:100%; border-right:solid 1px #ededed; } .test li a{ display:inline-flex; width: 100%; height: 100%; align-items: center; justify-content: center; padding:10px 6px; transition: ease 0.2s; } .test li a:hover { text-decoration: none; background:#666; color: #fff; } </style>