menu
menu

キーワード検索

 

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

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5】スマホサイトの作成・基本編
  4. ( 4-) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  5. ( 5-) 【実践でjQuery入門】jQueryで日時を表示
  6. ( 7↑) 【CSS Tips】スマホサイト向け横にスクロールするナビゲーション
  7. ( 6↓) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( -↑) 【Mac Tips】MacにInkscapeをインストール
  9. ( 9-) 【MySQL】Windows 10にMySQLをインストール
  10. ( 8↓) 【HTML5】HTML5・ページ作成の基本

【CSS Tips】スマホサイト向け横にスクロールするナビゲーション

  • Labs

【CSS Tips】スマホサイト向け横にスクロールするナビゲーション

こんにちは(・∀・)

今回はスマホサイト向け、横にスクロールするナビゲーションのサンプルをご紹介します。

Contents

  1. 慣性スクロールでヌルっとスクロール
  2. 横スクロールバーデフォルト表示ナビゲーション

スマホ向けスクロールナビゲーション

スマホサイトのナビゲーションといえばハンバーガーボタンをクリックして、トップやサイドからポップアップしてくるメニューを思い浮かべる方も多いと思います。

今回ご紹介するスマホサイト向けナビゲーションは、横並びのボタンをそのまま横にスクロールするというとても単純なナビゲーションとなっております。

この横にスクロールするナビゲーション、使ってるサイトも最近は増えてきていますね。


1. 慣性スクロールでヌルっとスクロール

慣性スクロールはナビゲーションを横にスクロール際、ヌルーっとスクロールするさせる方法です。webkit系のブラウザのみ対応となります。

HTML

<div class="gnav">
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
<li><a href="#">menu6</a></li>
<li><a href="#">menu7</a></li>
<li><a href="#">menu8</a></li>
</ul>
<!--gnav--></div>
CSS

.sample-demo {
  text-align: center;
}
.sample-demo p {
  padding: 10px;
}
.sample-demo .gnav {
  overflow-x: auto;
}
.sample-demo .gnav ul {
  width: 800px;
  height: 40px;
  margin: 0 auto 2px auto;
  list-style: none;
  display: flex;
}
.sample-demo .gnav ul li {
  text-align: center;
  margin-right: 1px;
}
.sample-demo .gnav ul li:last-child {
  margin-right: 0;
}
.sample-demo .gnav ul li a,
.sample-demo .gnav ul li a:link,
.sample-demo .gnav ul li a:visited {
  display: inline-block;
  width: 96px;
  height: 40px;
  background: #9fb7d4;
  color: #fff;
  text-decoration: none;
}
.sample-demo .gnav ul li a:hover,
.sample-demo .gnav ul li a:active {
  background: #afc6e2;
}
.sample-demo .gnav {
  -webkit-overflow-scrolling: touch;
}
Result

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード

この方法だとスクロールしているときだけスクロールバーは表示されますが、普段は非表示となります。


2. 横スクロールバーデフォルト表示ナビゲーション

ナビゲーションを横にスクロールさせるナビゲーション、初めてそのサイトに訪れる方にはそのメニューが横に長く、見えていない部分があるということがわかりづらいという欠点があり、ユーザビリティ的にはよくありません。

なのでそれを解消するために横スクロールバーを見えるようにして、スクロールしていないときでもわかるようにしてあげます。

HTML

<div class="gnav">
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
<li><a href="#">menu6</a></li>
<li><a href="#">menu7</a></li>
<li><a href="#">menu8</a></li>
</ul>
<!--gnav--></div>
CSS

.sample-demo {
  text-align: center;
}
.sample-demo p {
  padding: 10px;
}
.sample-demo p {
  padding: 10px;
}
.sample-demo .gnav {
  width: 100%;
  overflow-x: auto;
}
.sample-demo .gnav ul {
  width: 800px;
  height: 40px;
  margin: 0 auto 2px auto;
  list-style: none;
}
.sample-demo .gnav ul li {
  float: left;
  text-align: center;
  margin-right: 1px;
}
.sample-demo .gnav ul li:last-child {
  margin-right: 0;
}
.sample-demo .gnav ul li a,
.sample-demo .gnav ul li a:link,
.sample-demo .gnav ul li a:visited {
  display: inline-block;
  width: 96px;
  height: 40px;
  background: #9fb7d4;
  color: #fff;
}
.sample-demo .gnav ul li a:hover,
.sample-demo .gnav ul li a:active {
  background: #afc6e2;
}
.sample-demo .gnav::-webkit-scrollbar {
  height: 2px;
}
.sample-demo .gnav::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
  border-radius: 5px;
}
.sample-demo .gnav::-webkit-scrollbar-thumb {
  background: #d49fc2;
  border-radius: 5px;
}
.sample-demo .gnav {
  /*-webkit-overflow-scrolling: touch;*/
}
Result

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード


このように、横スクロールバーをスクロールしていないときでも表示するようにすれば、そのナビゲーションには続きがあるということがわかり、使う側にとっては使いやすくなるのではないでしょうか。

ただし、こちらもwebkit系のブラウザのみの対応となり、また、1でご紹介しました-webkit-overflow-scrolling: touch;と併用するとスクロールバーのカスタマイズは無視されるようです。

  • カテゴリー:Labs