【Labs】ナビゲーションボタンをcalc()関数で作ってみる - web design lab
にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村

【Labs】ナビゲーションボタンをcalc()関数で作ってみる


【Labs】ナビゲーションボタンをcalc()関数で作ってみる

こんにちは(・∀・)

今日はナビゲーションボタンをcalc()関数を使って作ってみます。

前回【ブログ】CSS3のcalc()関数なら割り切れない数値でも本当にピッタリになるの⁉️で実験した通りChromeでの表示を気にする必要がありますが、1px程の誤差なのでうまく調整して作っていきましょう。

可変幅と固定幅のサンプルを作りました。

サンプルデモ

Result
スマホでのご確認はこちらをどうぞ
QRコード

どちらのサンプルも分かりやすいよう親要素の背景に色をつけています。

HTML

<div class="nav">
<div class="container-1">
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<!--container-1--></div>
<!--nav--></div>
<div class="nav">
<div class="container-2">
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<!--container-2--></div>
<!--nav--></div>
CSS

.sample-demo .nav {
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
  background: lightgray;
}
.sample-demo .nav .container-1 {
  height: 50px;
  margin: 0 auto;
  padding-top: 5px;
  display: flex;
  background: gray;
  color: #444;
  box-sizing: border-box;
}
.sample-demo .nav .container-1 .box {
  border-left: 1px solid gray;
}
.sample-demo .nav .container-1 .box:nth-child(1) {
  border-left: none;
}
.sample-demo .nav .container-1 .box a {
  display: block;
  height: 40px;
  margin: 0;
  padding: 0;
  text-align: center;
  text-decoration: none;
  line-height: 2.0;
  font-size: 1.2em;
  background: lightblue;
  color: gray;
}
.sample-demo .nav .container-1 .box a:hover {
  opacity: 0.8;
}
.sample-demo .nav .container-1 {
  width: 1000px;
}
.sample-demo .nav .container-1 .box {
  width: calc(1000px / 5);
}

.sample-demo .nav {
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0;
  background: lightgray;
}
.sample-demo .nav .container-2 {
  height: 50px;
  margin: 0 auto;
  padding-top: 5px;
  display: flex;
  background: gray;
  color: #444;
  box-sizing: border-box;
}
.sample-demo .nav .container-2 .box {
  border-left: 1px solid gray;
}
.sample-demo .nav .container-2 .box:nth-child(1) {
  border-left: none;
}
.sample-demo .nav .container-2 .box a {
  display: block;
  height: 40px;
  margin: 0;
  padding: 0;
  text-align: center;
  text-decoration: none;
  line-height: 2.0;
  font-size: 1.2em;
  background: lightblue;
  color: gray;
}
.sample-demo .nav .container-2 .box a:hover {
  opacity: 0.8;
}
.sample-demo .nav .container-2 {
  width: 100%;
}
.sample-demo .nav .container-2 .box {
  width: calc(100% / 5);
}

calc()関数を使ったナビゲーションのサンプルでした。よろしければご活用ください。


にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村