タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えは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 ファイアウォールとポート関連コマンドの紹介
はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...
目次1. テスト環境1.1 ハードウェアとソフトウェア1.2 テーブル構造2. テストの目的2.1 ...
参考までに、vueを使用してクリックフリップエフェクトを簡単に実装します。具体的な内容は次のとおりで...
Linux でのルーティング設定コマンド1. ホストルーティングを追加する ルートを追加 -host...
ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...
1. 環境仮想マシン上で実行されているUbuntu 16.04では、コマンドuname -rを使用し...
目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...
Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリ、my-...
1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...
Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...
オンライン MySQL トランザクションの問題の記録先週の金曜日、大きなテーブルを削除する操作を実行...
HTML 中心のフロントエンド開発は、ほぼ Web 標準の意味です。共通しているのは「分離」という考...
MySQL 8.0.13 にはデフォルトでデータ フォルダがあります。このフォルダを削除する必要があ...
パート0 背景社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部...
MySQL は次の 3 種類のコメントをサポートしています。 1. 行末の「#」文字から。 2. 「...