純粋な CSS を使用してドロップダウン メニューを作成するサンプル コード

純粋な CSS を使用してドロップダウン メニューを作成するサンプル コード

導入:
最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多いのですが、多くの人がそれができず、最終的にはしぶしぶ JS でしか実行できないことがわかりました。正直言って驚きました。この機能は実装が非常に簡単で、初歩的な問題とも言えるものです。なぜ多くの人がやり方を知らないのでしょうか?そこで今日は、面接のヒントをいくつか紹介し、CSS を使用してドロップダウン メニューを作成する方法を紹介します。

相変わらずですね。さっそくレンダリングを見てみましょう。

1. ボタンがクリックされる前(携帯電話の場合)またはマウスがポイントされていないとき(PCの場合)

ここに画像の説明を挿入

2. マウスをクリックまたはポイントした後。

電話をクリックした後
マウスを後ろに向ける

ドロップダウン メニューを表示することができ、その実装原理も非常に簡単です。覚えておく必要があるのは、この属性のホバーという 1 つのポイントだけです。

すぐにコードを見て、後で説明しましょう。

<!DOCTYPE html>
<html>
<ヘッド>
  <メタ文字セット="UTF-8">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <meta http-equiv="X-UA-compatible" content="ie=edge">
    <スタイル>
        li{
            リストスタイル: なし;
            高さ: 28px;
        }
        #メニュー{
            表示: インラインブロック;
        }
        #メニュー #リスト {
            最大高さ: 0;
            遷移: 最大高さ 0.25 秒のイーズアウト;
            オーバーフロー: 非表示;
            背景: #f5f4f4;
            幅: 80ピクセル;
            マージン: 0;
            パディング: 0;
            テキスト配置: 中央;
        }
        #メニュー:ホバー #リスト {
            最大高さ: 200px;
            遷移: 最大高さ 0.25 秒のイーズイン;
            幅: 80ピクセル;
            マージン: 0;
            パディング: 0;
        }
        。ボタン{
	          高さ: 32px;
	          幅: 80ピクセル;
	          上マージン: 6px;
	          境界線の半径: 4px;
	          色: #fff;
	          左パディング: 0;
	          右パディング: 0;
	          行の高さ: 32px;
	          背景: #E33E33;
	          テキスト配置: 中央;
        }
    </スタイル>
</head>
<本文>
  <div id="メニュー">
    <div class="button">詳細情報</div>
    <ul id="リスト">
        <li>パーソナルセンター</li>
        <li>私のブログ</li>
        <li>設定</li>
        <li>ログアウト</li>
        <li>ログアウト</li>
    </ul>
  </div>
</本文>
</html>

div を設定し、それを :hover なしの状態と :hover ありの状態の 2 つの状態に設定するだけです。 :hover がない場合は、メニューを非表示に設定するだけで (overflow: hidden;)、残りのコードは単純なボックス モデルになります。

さて、:hover についてお話しましょう。これは何でしょうか?これは、マウス ポインターが浮かんでいる要素を選択するために使用される CSS セレクターです。したがって、携帯電話でマウスをホバーしたりクリックしたりすると、この属性がトリガーされ、ドロップダウン メニューが表示されます。同時に、ドロップダウン メニューにグラデーション効果を持たせ、より下に引っ張られているような感覚になるように transition 属性を追加しました。

CSS セレクターは魔法のようではありませんか? うまく使用すれば、多くの JS コードを書く必要はありません。今後は CSS セレクターに関するコラムを作成し、すべての CSS セレクターを体系的に紹介する予定です。

ここに画像の説明を挿入

要約する

純粋な CSS を使用してドロップダウン メニュー機能のサンプル コードを作成する方法についての記事はこれで終わりです。CSS ドロップダウン メニューに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Portainer を使用して複数の Docker コンテナ環境を管理する方法を説明します。

>>:  vue-qr を使用して Vue の QR コードを生成する方法について深く理解する

推薦する

HTMLインライン要素とブロックレベル要素の基本概念と使用例

HTML タグには、インライン要素とブロックレベル要素の 2 種類があります。まず、インライン要素と...

MySQLサービスを開くおよび閉じる2つの方法

方法1: cmdコマンドを使用するまず、DOS ウィンドウを開き、スタート、実行、cmd と入力しま...

JavaScript に関する 6 つの奇妙で便利な点

目次1. 解体のヒント2. デジタルセパレーター3. try...catch...finally が...

HTMLは角丸四角形を簡単に実装します

質問: div+css と配置を使用して角丸四角形を実現するにはどうすればよいですか?ソリューション...

特定の MySQL テーブルの完全データと増分データをメッセージ キューに同期する - ソリューション

目次1. 当初の需要2. 解決策3. 運河の導入と設置運河の仕組み建築インストール4. 検証1. 当...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

MySQL での select、distinct、limit の使用

目次1. はじめに2. 選択2.1 単一列のクエリ2.2 複数の列のクエリ2.3 すべての列をクエリ...

CSS3 で less のテキストの長い影を実装する

この記事では主に、CSS3 LESS で長いテキストの影を実装する方法を紹介し、皆さんと共有します。...

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...

MySQLでカンマ区切り値の列を列に変換する方法

序文場合によっては、第 1 正規形設計パターンに従わないビジネス テーブルに遭遇することがあります。...

ページデザインにおけるテーブルとdivの適切な適用についての簡単な説明

この記事の冒頭で、以前書いた入門記事の間違いを訂正したいと思います。初心者を再び誤解させないように、...

Ubuntu 16.04/18.04 に Pycharm と Ipython をインストールするチュートリアル

Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...

Vue 監視プロパティと計算プロパティ

目次1. 監視プロパティを監視する1. ショッピングカート2. すべて選択し、すべて選択解除する2....

JavaScript でじゃんけんゲームを書く

この記事では、JavaScriptでじゃんけんゲームを書くための具体的なコードを参考までに紹介します...

MySQL データベースのバックアップをスケジュールするいくつかの方法 (包括的)

目次1. データをバックアップするためのmysqldumpコマンド2. 一般的なmysqldump操...