2012年6月21日
CSS3だけで作るレスポンシブデザイン対応ナビゲーションバーの作り方
こんにちは、鴨田です。
最近はRetina対応のMac Book Proが出たり、特にスマートフォンに限らず、解像度の高いディスプレイが多くなってきました。そうなると、画像でいろいろな素材を作るということに関して限界が出てきます。
なので、最近はCSSだけでナビゲーションバーのデザインやコーディングを行うことが多いとは思いますが、知ってる人も知らない人もちょっとしたナビゲーションバーを作ってみましょう。
作るのは、横幅は特に設定しないレスポンシブデザインにも対応できるリキッドな6つの項目を持ったナビゲーションバーとします。ただし、スマートフォンを意識して、外側に320pxのラッパーを配置しておきます。
注意事項として、FirefoxとWebkit系ブラウザ(Google Chrome、Safariなど)でしかベンダープレフィックスをつけていないので、それ以外のブラウザで見ると、崩れます。
HTML
<div class="wrapper">
<nav class="tab">
<ul>
<li><a href="#1">タブ1</a></li>
<li><a href="#2">タブ2</a></li>
<li><a href="#3">タブ3</a></li>
<li><a href="#4">タブ4</a></li>
<li><a href="#5">タブ5</a></li>
<li><a href="#6">タブ6</a></li>
</ul>
</nav>
</div>
CSS
div.wrapper {
width: 320px;
background: #999;
}
nav.tab {
width: 100%;
padding: 10px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.wrapper ul {
width: 100%;
list-style: none;
display:-moz-box;
display:-webkit-box;
}
.wrapper ul li {