CSSドロップダウンメニュー
CSS ドロップダウン メニュー
CSS を使用して、マウスを上に移動したときにドロップダウン メニューを表示する効果を作成します。
基本的なドロップダウン メニュー
マウスを指定した要素の上に移動すると、ドロップダウン メニューが表示されます。
例
<!DOCTYPE html> <html> <head> <title> PHP中文网(php.cn)</title> <meta charset="utf-8"> <style> .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgb(83, 251, 185); padding: 12px 16px; } .dropdown:hover .dropdown-content { display: block; } </style> </head> <body> <div class="dropdown"> <span>鼠标移动到我这!</span> <div class="dropdown-content"> <p> PHP中文网(php.cn)</p> <p>m.sbmmt.com</p> </div> </div> </body> </html>
プログラムを実行して試してみましょう
分析例
HTML部分:
次のような任意のHTM要素を使用してドロップダウンメニューを開くことができます: <span>、または <button> 要素。
コンテナ要素 (<div> など) を使用してドロップダウン メニューのコンテンツを作成し、任意の場所に配置します。
<div> 要素を使用してこれらの要素をラップし、CSS を使用してドロップダウン コンテンツのスタイルを設定します。
CSS 部分:
.dropdown クラスは、position:relative を使用します。これにより、ドロップダウン メニューのコンテンツがドロップダウン ボタンの右下隅に配置されるように設定されます (position:absolute を使用)。
.dropdown-content クラスは、実際のドロップダウン メニューです。デフォルトでは非表示になっており、マウスが指定された要素に移動すると表示されます。 min-width 値が 160px に設定されていることに注意してください。好みに応じて変更できます。注: ドロップダウン コンテンツをドロップダウン ボタンの幅と一致するように設定したい場合は、幅を 100% に設定できます (overflow:auto 設定により、小さな画面サイズでもスクロールできます)。
box-shadow 属性を使用して、ドロップダウン メニューを「カード」のように見せます。
:ホバーセレクターは、ユーザーがドロップダウンボタンの上にマウスを移動したときにドロップダウンメニューを表示するために使用されます。
ドロップダウンメニュー
ドロップダウン メニューを作成し、ユーザーがリスト内の項目を選択できるようにします。ドロップダウン リストにリンクを追加し、スタイルを設定します。
<!DOCTYPE html> <html> <head> <title>PHP中文网(php.cn)</title> <meta charset="utf-8"> <style> .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #f1f1f1} .dropdown:hover .dropdown-content { display: block; } .dropdown:hover .dropbtn { background-color: #3e8e41; } </style> </head> <body> <h2>下拉菜单</h2> <p>鼠标移动到按钮上打开下拉菜单。</p> <div class="dropdown"> <button class="dropbtn">下拉菜单</button> <div class="dropdown-content"> <a href="//m.sbmmt.com">PHP中文网 1</a> <a href="//m.sbmmt.com">PHP中文网 2</a> <a href="//m.sbmmt.com">PHP中文网 </a> </div> </div> </body> </html>
プログラムを実行して試してみましょう
。コンテンツを下に配置
Leftfloat:left;
rightfloat:right;
例
<!DOCTYPE html> <html> <head> <title>PHP中文网(php.cn)</title> <meta charset="utf-8"> <style> .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; right: 0; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #f1f1f1} .dropdown:hover .dropdown-content { display: block; } .dropdown:hover .dropbtn { background-color: #3e8e41; } </style> </head> <body> <h2>下拉内容的对齐方式</h2> <p>left 和 right 属性指定了下拉内容是从左到右或从右到左。</p> <div class="dropdown" style="float:left;"> <button class="dropbtn">左</button> <div class="dropdown-content" style="left:0;"> <a href="#">PHP中文网 1</a> <a href="#">PHP中文网 2</a> <a href="#">PHP中文网 3</a> </div> </div> <div class="dropdown" style="float:right;"> <button class="dropbtn">右</button> <div class="dropdown-content"> <a href="#">PHP中文网 1</a> <a href="#">PHP中文网 2</a> <a href="#">PHP中文网 3</a> </div> </div> </body> </html>
プログラムを実行して試してください
その他の例
この例では、ナビゲーション バーにドロップダウン メニューを追加する方法を示します。
<!DOCTYPE html> <html> <head> <title>PHP中文网(php.cn)</title> <meta charset="utf-8"> <style> ul { list-style-type: none; margin: 0; padding: 0; overflow: hidden; background-color: #333; } li { float: left; } li a, .dropbtn { display: inline-block; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } li a:hover, .dropdown:hover .dropbtn { background-color: #111; } .dropdown { display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #f1f1f1} .dropdown:hover .dropdown-content { display: block; } </style> </head> <body> <ul> <li><a class="active" href="">主页</a></li> <li><a href="">新闻</a></li> <div class="dropdown"> <a href="#" class="dropbtn">下拉菜单</a> <div class="dropdown-content"> <a href="#">链接 1</a> <a href="#">链接 2</a> <a href="#">链接 3</a> </div> </div> </ul> <p>鼠标移动到 "下拉菜单" 链接先显示下拉菜单。</p> </body> </html>
プログラムを実行して試してみましょう
例
ドロップダウンメニューに画像を追加する方法。
えープログラムを実行して試してください