CSSでタブ切り替えを実装する方法を現役エンジニアが解説【初心者向け】

初心者向けにCSSでタブ切り替えを実装する方法について解説しています。ここではradioボタンを利用してHTMLとCSSのみで実装する方法と、jQueryを組み合わせて実装する方法を紹介します。それぞれの実行結果を画面で確認してみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

CSSでタブ切り替えを実装する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもCSSについてよく分からないという方は、CSSの書き方について解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

タブ切り替えを実装する方法について詳しく説明していくね!

大石ゆかり

お願いします!

目次

 

タブ切り替えデザインとは

タブ切り替えデザインとは、その名のとおり、タブのような形でサイトのコンテンツを切り替えるUIになります。

例えばカテゴリー別にコンテンツが複数存在する場合など、並列な関係にある複数コンテンツに対し、それらを縦に一つずつ並べるとユーザーにコンテンツ毎にスクロールをしてもらう必要が生じます。

それに対し、タブ切り替えデザインを活用することで、スクロールをせずにタブを切り替えるだけでコンテンツをみせることが可能になります。

それぞれのコンテンツのボリュームや、内容による部分もあるため、最終的なところはケースバイケースとなりますが、ケースによってはユーザービリティを向上することができる有効なデザインです。

以下で実装例をご紹介していきます。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

CSSとHTMLでタブ切り替えを実装する方法

HTMLとCSSのみで実装する方法をご紹介します。HTMLにおけるradioボタンの仕様を利用し、CSSでタブ風にスタイリングしております。

See the Pen
tab_css
by Pei (@Pei-Log)
on CodePen.

ポイントは、input要素を非表示にすることです。

 

jQueryなどを組み合わせてタブ切り替えを実装する方法

HTMLとCSSとjQueryで実装する方法をご紹介します。やってることは、「active」というclassがつくと

  • タブ→選択中
  • コンテンツ部分→表示

という見え方になるようにCSSでスタイルを定義しておき、jQueryで「active」classを適宜付けたり外したりしております。

jQueryありの実装の場合、タブの増減をしたい場合HTML側でタブとコンテンツ部分を増減するのみで対応が可能な仕様にしているため、HTMLとCSSのみでの実装よりも汎用性が高いです。

※タブが大量に増える場合はタブの横幅も調整するときれいです。

See the Pen
tab_css_js
by Pei (@Pei-Log)
on CodePen.

 

実際に書いてみよう

一見、タブ切り替えデザインを実装するのは複雑そうに見えるかもしれませんが仕組みはシンプルです。

是非、実際に書いてみて、試してみてください。ご自身のサービス発展のお役に立てれれば嬉しいです。

 

監修してくれたメンター

土田隼平(つちだしゅんぺい)

フリーのWebエンジニアです。
最近までは求人サービスや画像共有システム、ECサービスの開発・運用をやってました。

趣味はラジオ(特にオールナイトニッポンとJUNK)を聞くことや近所の散歩です。
今の最重要ミッションは「運動不足解消」です。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。