作成方法:タブページ
CSSとJavaScriptを使用してタブページを作成する方法を学びます。
タブページ
タブページは、単一ページのWebアプリケーションや異なるトピックを表示できるウェブページに非常に適しています:
ロンドン
ロンドンはイングランドの首都都市です。
パリ
パリはフランスの首都です。
東京
東京は日本の首都です。
切り替え可能なタブページを作成
第1歩 - HTMLを追加:
<!-- タブページリンク --> <div class="tab"> <button class="tablinks" onclick="openCity(event, 'London')">ロンドン</button> <button class="tablinks" onclick="openCity(event, 'Paris')">パリ</button> <button class="tablinks" onclick="openCity(event, 'Tokyo')">東京</button> </div> <!-- タブページ内容 --> <div id="London" class="tabcontent"> <h3>ロンドン</h3> <p>ロンドンはイングランドの首都です。</p> </div> <div id="Paris" class="tabcontent"> <h3>パリ</h3> <p>パリはフランスの首都です。</p> </div> <div id="Tokyo" class="tabcontent"> <h3>Tokyo</h3> <p>Tokyo is the capital of Japan.</p> </div>
特定のタブページの内容を開くためのボタンを作成します。すべての class="tabcontent"
の <div>
要素はデフォルトですべて非表示です(CSSとJSを通じて)。ユーザーがボタンをクリックすると、それに「対応」するタブページの内容が開かれます。
第二段階 - CSSを追加:
ボタンとタブページの内容のスタイルを設定:
/* タブページのスタイルを設定 */ .tab { overflow: hidden; border: 1px solid #ccc; background-color: #f1f1f1; } /* タブページの内容を開くためのボタンのスタイルを設定 */ .tab button { background-color: inherit; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; } /* ホバー時のボタンの背景色を変更 */ .tab button:hover { background-color: #ddd; } /* 活動中/現在のタブリンククラスを生成 */ .tab button.active { background-color: #ccc; } /* タブページの内容のスタイルを設定 */ .tabcontent { display: none; padding: 6px 12px; border: 1px solid #ccc; border-top: none; }
第三段階 - JavaScriptを追加:
function openCity(evt, cityName) { // 全ての変数を宣言 var i, tabcontent, tablinks; // クラス「tabcontent」を持つすべての要素を取得し、それらを非表示にする tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } // クラス「tablinks」を持つすべての要素を取得し、クラス「active」を削除 tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } // 現在のタブを表示し、タブを開いたボタンに「active」クラスを追加 document.getElementById(cityName).style.display = "block"; evt.currentTarget.className += " active"; }
タブをフェードイン
タブの内容をフェードインするには、以下のCSSを追加してください:
.tabcontent { animation: fadeEffect 1s; /* 淡入淡出効果が1秒間続く */ } /* 透明度0から不透明度100への过渡 */ @keyframes fadeEffect { from {opacity: 0;} to {opacity: 1;} }
デフォルトで表示するタブ
ページが読み込まれた際に特定のタブを開くには、JavaScriptで指定されたタブのボタンを「クリック」してください:
<button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">ロンドン</button> <script> // id="defaultOpen"の要素を取得してクリック document.getElementById("defaultOpen").click(); </script>
タブを閉じる
特定のタブを閉じたい場合は、JavaScriptを使用してボタンをクリックしてタブを隠してください:
<!-- <span>要素をクリックしてタブを閉じる --> <div id="London" class="tabcontent"> <h3>ロンドン</h3> <p>ロンドンはイングランドの首都です。</p> <span onclick="this.parentElement.style.display='none'">x</span> </div>
関連ページ
チュートリアル:実現方法:垂直タブの作成