JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリオの質問です。原則は、メニュー スタイルの display 属性の属性値を none=>block から変更することです。具体的な実装を以下に示します。次の部分に注目してください。
<!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta http-equiv="X-UA-compatible" content="IE=edge"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>ホバードロップダウンメニュー</title> <スタイル> /* 必要に応じて、ワイルドカード、a、li の既存のスタイルを削除します*/ * { マージン: 0; パディング: 0; } { テキスト装飾: なし; 色: 黒; } /* ここでの li は幅を指定せずに既存のスタイルを削除するだけです */ li { リストスタイル: なし; } /* 各セクションをアイテムとしてフレックスレイアウトする */ 。容器 { マージン: 50px 自動; 幅: 40%; 高さ: 40px; ディスプレイ: フレックス; /* 最初にスペース均等に表示*/ コンテンツの均等配置: スペースを均等に; 背景色: スカイブルー; } /* フローティングは各セクションでのみ実行する必要があります */ /* セクションの「フォント サイズ、テキスト配置、行の高さ」を設定します => 継承可能なプロパティ*/ 。セクション { フロート: 左; フォントサイズ: 16px; 行の高さ: 40px; テキスト配置: 中央; } /*ここではホバー時のヘッドのスタイルを指定します*/ /* .head:hover と書くこともできます */ .section:hover .head { 色: 白; 背景色: オレンジ; } /* 最初はメニュー全体が非表示で、スタイルが設定されています */ .メニュー{ 表示: なし; 背景色: 透明; } /* マウスオーバーするとメニューが表示されます。親ボックスにのみマウスオーバーできます*/ .section:hover .menu { 表示: ブロック; } /* ホバー時の li のスタイルを指定します*/ .menu li:hover { 背景色: オレンジ; } </スタイル> </head> <本文> <div class="コンテナ"> <div class="section"> <a href="#" class="head">論文を書く</a> <ul class="メニュー"> <li>情報を検索する</li> <li>メモを取る</li> <li>再現する</li> </ul> </div> <div class="section"> <a href="#" class="head">フロントエンドを学ぶ</a> <ul class="メニュー"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li>リートコード</li> </ul> </div> <div class="section"> <a href="#" class="head">リトルデイズ</a> <ul class="メニュー"> <li>食べる</li> <li>睡眠</li> <li>豆をプレイ</li> </ul> </div> </div> </本文> </html> 最終的な効果は以下のようになります。 ヒント: クリックしてドロップダウン メニューを実装するという、似たような質問がもう 1 つあります。ここでの違いは、クリック イベントを追加し、それを JS で記述して、後で補足する必要があることです。 3 つのセクションを ul li の形式で記述することもできます。これにより、ネストされた 2 層の ul も実現でき、セマンティクスが向上し、読者の参照用に残されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順
>>: MySQL 8.0.20 圧縮版のインストールチュートリアル(画像とテキスト付き)
データ共有プロトタイプにはどのようなデータを書き込む必要がありますか?共有する必要があるデータはプロ...
<テンプレート> <div id="ルート"> <...
Bash 初期化ファイル対話型ログインシェル次の場合にはログイン シェルを取得できます。ローカル端末...
ping は成功したがポートにアクセスできない場合のポート可用性検出の説明ポート可用性検出ツールの紹...
このコマンドは、データ テーブル ff_vod を変更し、vod_url フィールドの内容の後に 9...
[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...
<br />フレーム構造により、ブラウザの 1 ページに複数の Web ページを同時に表...
選択して変更: クリックすると現在の値が表示され、ページ UI が表示され、CSS スタイルが変更さ...
プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...
MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、M...
ページの DIV+CSS レイアウトを行う際、IE6 で画像要素 img の下に余分なスペースができ...
この記事では、WeChatアプレットの9マスグリッド効果を実現するための具体的なコードを参考までに紹...
日常的なウェブサイトの保守と管理では、多くの SQL ステートメントが使用されます。熟練して使用する...
前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...
Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...