WEB Tips デザイン・コーディング

レスポンシブなタブメニュー CSS&JS -Tab UI

2015-04-07

本記事にはプロモーションが含まれています。

レスポンシブなタブメニュー CSS&JS -Tab UI

ソラミ♪

Webエンジニアをやりつつ、デザインにも携わる株式会社コムワークの中の人。WordPress、Adobeアプリ、カワウソ好き。 2015年から当ブログ運営|2008年からGmail使用中|WordPress制作10年以上|15社以上のレンタルサーバー利用経験|100件以上のドメイン取得運用|サイト・ドメイン移転多数 »  もっとくわしく

決まったスペースにコンテンツを効率的にレイアウトしたいとき、タブインターフェイスが使われていることはよく有ります。

ニュースサイトではカテゴリーの新着ニュースを、ECサイトでは商品の説明や仕様をタブを使ってコンパクトにまとめらているのを見かけます。

タブの使用例:ニュースアプリ

どちらも画面上部にナビゲーションとしてタブが配置されていて、スワイプできるようになっています。

タブ使用例:NHKニュース・防災アプリ
タブ使用例:スマートニュース

タブの使用例:ECサイト

商品アイテムの説明やサイズ、レビューなどをスクロールせずに確認できるので、商品画像を見ながら検討することができます。

タブ使用例:ショッピングサイトBAYCrews Store

このようにタブを実装するとユーザービリティ向上にも役立ちます。

ここではレスポンシブサイトでタブを実装例を取りあげます。

CSSのみのシンプルなタブメニュー

See the Pen Responsive Tabs by mixtaro (@mixtaro) on CodePen.

JavaScriptなしのCSSだけで実装するシンプルなタブです。

JavaScriptのクリックを判定するイベントハンドラをinputlabelで実現しています。

<input id="tab-1" name="tabnav" type="radio" checked="checked"/>
<label class="tab-menu-item" for="tab-1">タブ1</label>

inputid属性にはlabelfor属性と同じ名前を指定します。最初に選択された状態にするタブにchecked属性をつけます

CSSのみのシンプルなタブ:スマホではアコーディオン

See the Pen Responsive Tabs/Accordion -only CSS/ by mixtaro (@mixtaro) on CodePen.

ほぼ同じCSSのみのタブですが、スマホなどモバイル環境ではアコーディオンになります。

CSS+jQueryのタブ

CSSとjQueryのシンプルタブ

前半の16行目ぐらいまでは、特定のタブへリンクできるようにハッシュの値を取得するようにしています。

特定のタブへダイレクトリンクする場合は以下のようにします。

<p><a href="tab-c.html#content-2">タブ2へリンク</a></p>

jQuery不要の軽量スクリプトでタブを実装する

JavaScript はYetiiというカスタマイズしやすいスクリプトでタブを作成します。

Yetii
http://www.kminek.pl/lab/yetii

  • 複数タブの設置
  • 自動ローテーション
  • 前後のナビゲーション設置
  • 特定のタブにカスタム関数を設置

決まりとしてナビゲーション用のulタグには「タブコンテナーID+nav」というIDをつけます。

上のコードではIDが#tab-container1なのでul#tab-container1-navをつけます。

タブ DEMO

idタブコンテナーのID
tabclassデフォルトのtabclassを上書きする
active最初にアクティブにするタブを指定
interval自動ローテションする秒数を指定
ユーザーがタブを操作した時は停止する
wait秒数を指定
ユーザーがタブを操作した後、指定した秒数後にローテーションを開始する
callbackコールバック関数を設定
指定できるパラメータ

外部ページから特定のタブへダイレクトリンクする

<a href="example.html?tab-container-1=2">exampleページの#tab-container-1内の2番目のタブ</a>

タブDEMOページのタブ2の4番目のタブにリンク

タブUIに関する記事はこちらも参考になります。

  • この記事を書いた人
  • 最新記事

ソラミ♪

Webエンジニアをやりつつ、デザインにも携わる株式会社コムワークの中の人。WordPress、Adobeアプリ、カワウソ好き。 2015年から当ブログ運営|2008年からGmail使用中|WordPress制作10年以上|15社以上のレンタルサーバー利用経験|100件以上のドメイン取得運用|サイト・ドメイン移転多数 »  もっとくわしく

-WEB Tips, デザイン・コーディング
-