menu
menu

キーワード検索

 

前月(5月)の人気記事トップ10

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 2 - ) 【CSS】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3 - ) 【Mac】Macのユーザー名とアカウント名を変更する
  4. ( 4 - ) 【Mac】MacにInkscapeをインストール
  5. ( 9 ↑) 【jQuery】jQueryでドロップダウンメニュー
  6. (10 ↑) 【CSS】スマホサイト向け横にスクロールするナビゲーション
  7. ( 6 ↓) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( - ↑) 【CSS】レスポンシブデザインのブレークポイントは⁉
  9. ( 7 ↓) 【CSS】CSSだけでブロック要素の表示非表示(トグルボタン)
  10. ( 5 ↓) 【HTML5】スマホサイトの作成・基本編
このエントリーをはてなブックマークに追加

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

【CSS】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()関数を使ったナビゲーションのサンプルでした。よろしければご活用ください。

  • calc()関数 CSS3 ナビゲーション
このエントリーをはてなブックマークに追加