タブ切り替えを実装するための HTML サンプル コード

タブ切り替えを実装するための HTML サンプル コード

タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装されます。今日はCSSだけでタブ切り替えを実装する2つの方法を紹介します。

方法1:

原則: 対応するdivは、ラベルタグの関連属性と入力の単一選択タイプを通じて表示されます。

1. wrapというクラス名のdivをコンテナとして作成する

2. タブ切り替え項目として機能するラベルタグを4つ作成します。

3. 各ラベルに span タグ (ナビゲーション コンテンツ) と input タグ (選択と選択解除用) を作成します。タイプはラジオです。また、ナビゲーション項目がクリックされたときのコンテンツ ボックスとして div を作成します。

入力タグの名前は同じでなければならないことに注意してください。私はタブと名付けました

最終的な HTML は次のようになります。

<div class="wrap">
    <ラベル>
        <span>ホーム</span>
        <input type="radio" name="tab" チェック済み>
        <div>ホームページ</div>
    </ラベル>
    <ラベル>
        <span>リスト</span>
        <input type="radio" name="tab">
        <div>リストページ</div>
    </ラベル>
    <ラベル>
        <span>ニュース</span>
        <input type="radio" name="tab">
        <div>ニュースページ</div>
    </ラベル>
    <ラベル>
        <span>私の</span>
        <input type="radio" name="tab">
        <div>鉱山ページ</div>
    </ラベル>
</div>

重要なCSSは、入力の幅を0に設定して、入力上の小さな点が現実的にならないようにし、ナビゲーション項目のクリックを使用して、ラベルの関連付けを通じてチェックされた入力を実現し、input:checked+div{display:block}を通じて対応するdivの表示を実現することです。

<スタイル タイプ="text/css">
        *{マージン: 0;パディング: 0;}
        。包む{
            マージン: 20px 自動;
            幅: 403px;
            高さ: 600px;
            border:1px 茶色一色;
            位置: 相対的;
        }
        ラベル{
            幅: 100ピクセル;
            高さ: 30px;
            フロート: 左;
            テキスト配置: 中央;
            行の高さ:30px;
            border-right: 1px 茶色一色;
            border-bottom: 1px 茶色一色;
        }
        ラベル:n番目の型(4){
            右境界線: なし;
        }
        ラベルスパン{
            カーソル: ポインタ;
        }
        ラベル div{
            幅: 403px;
            高さ: 568px;
            位置: 絶対;
            左: 0;
            上: 31px;
            背景: #eeeeee;
            表示: なし;
        }
        ラベル入力{
            幅: 0;
        }
        入力:チェック済み+div{
            表示: ブロック;
        }
    </スタイル>

方法2:

原則:切り替えはaタグのアンカーポイントを通じて実現されます。つまり、aのhrefパスはdiv idを切り替えることです。

1. wrapというクラス名のdivをコンテナとして作成する

2. クラス名が nav の div を作成し、その中に 4 つの a タグを作成します。a タグの href は、切り替え先の div の ID です。

3. 切り替えdivを配置するために、navの兄弟であるクラス名shのコンテナを作成します。

4. コンテンツを表示するためのdivを作成します。IDは上記のaタグに対応します。

最終的なコードは次のようになります。

<div class="wrap">
    <div class="nav">
        <a href="#home">ホーム</a>
        <a href="#list">リスト</a>
        <a href="#news">ニュース</a>
        <a href="#mine">私のもの</a>
    </div>
    <div class="sh">
        <div id="home">ホームページ</div>
        <div id="list">リストページ</div>
        <div id="news">ニュースページ</div>
        <div id="mine">鉱山ページ</div>
    </div>
</div>

CSSスタイル設定、つまり、クラス名shのdivをdisplay:noneに設定し、div:target{display:block}を使用して選択した項目を表示します。

<スタイル タイプ="text/css">
        *{マージン: 0;パディング: 0}
        。包む{
            幅: 400ピクセル;
            高さ: 600px;
            境界線: 1px の茶色
            マージン: 20px 自動;
            位置: 相対的;
        }
        .nav{
            幅: 100%;
            高さ: 30px;
        }
        .nav{
            幅: 99px;
            高さ: 30px;
            テキスト配置: 中央;
            行の高さ: 30px;
            border-right: 1px 茶色一色;
            border-bottom: 1px 茶色一色;
            フロート: 左;
            テキスト装飾: なし;
            色:黒;
        }
        .sh{
            幅: 400ピクセル;
            高さ: 569px;
            位置: 絶対;
            左: 0;
            上:31ピクセル;
            背景: #eeeeee;
        }
        .sh div{
            表示: なし;
            テキスト配置: 中央;
        }
        .sh div:ターゲット{
            表示: ブロック;
        }
    </スタイル>

html でタブ切り替えを実装するサンプルコードに関するこの記事はこれで終わりです。より関連性の高い html タブ切り替えコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  モバイル端末の適応に関する簡単な説明

>>:  CentOS7 ファイアウォールとポート関連コマンドの紹介

推薦する

Angular のパフォーマンス最適化: サードパーティ コンポーネントと遅延読み込みテクノロジー

目次概要環境の準備プロジェクトのパフォーマンスに影響を与える要因遅延読み込みとは何ですか?プロジェク...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

OpenSSL は双方向認証のチュートリアルを実装します (サーバーとクライアントのコード付き)

1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...

CentOS の MySQL に MariaDB をインストールするときに発生する方法と問題

以前にインストールしたmariadbを削除する1. rpm -qa | grep mariadb を...

MySQL ルートパスワードをリセットする方法

目次1. ルートパスワードを忘れてしまい、データベースにアクセスできない: DBA にとって、スーパ...

Apache クロスドメイン リソース アクセス エラーの解決策

多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...

iframeを指すaタグのターゲットの名前とIDの違い

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

MySQL8の再帰メソッドの使い方を教える

以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...

LinuxでIPアドレスが表示されない問題の解決方法

目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...

良いデザインについて

<br />「良いデザインとは何か」と答える 1 万人に対して、少なくとも 1 万 1 ...

ピクセルを包括的なブランド体験に変えるヒント

編集者:この記事では、インタラクティブデザインがブランドコミュニケーションチェーン全体で果たすべき役...

JSを使用して画像を効果的に圧縮する方法

目次序文変換関係具体的な実装file2DataUrl(ファイル、コールバック) file2Image...

Linux で Grafana をインストールし、InfluxDB モニタリングを追加する方法

Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...

HTMLにビデオを挿入してすべてのブラウザと互換性を持たせる方法

HTML にビデオを挿入するために最もよく使用される方法は 2 つあります。1 つは古い <o...

Vueフォームバインディングとコンポーネントの詳細な説明

目次1. 双方向データバインディングとは1. データの双方向バインディングを実装する必要があるのはな...