CSSドロップダウン
CSSを使用してホバー可能なドロップダウンを作成します。
デモ:ドロップダウンの例
以下の例の上にマウスを移動します。
基本的なドロップダウン
ユーザーが要素の上にマウスを移動したときに表示されるドロップダウンボックスを作成します。
例
<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 rgba(0,0,0,0.2);
padding:
12px 16px;
z-index: 1;
}
.dropdown:hover
.dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>
例の説明
HTML) <span>や<button>要素など、任意の要素を使用してドロップダウンコンテンツを開きます。
コンテナ要素(<div>など)を使用してドロップダウンコンテンツを作成し、その中に必要なものを追加します。
ドロップダウンコンテンツをCSSで正しく配置するには、要素の周りに<div>要素をラップします。
CSS).dropdown
クラスはを使用します。position:relative
これは、ドロップダウンコンテンツをドロップダウンボタンのすぐ下に配置する場合に必要です(を使用position:absolute
)。
.dropdown-content
クラスは実際のドロップダウンコンテンツを保持します。デフォルトでは非表示になっており、ホバーすると表示されます(以下を参照)。min-width
が160pxに設定されていることに注意してください。これを自由に変更してください。ヒント:ドロップダウンコンテンツの幅をドロップダウンボタンと同じ幅にしたい場合は、width
を100%に設定します(overflow:auto
小さな画面でスクロールを有効にします)。
境界線を使用する代わりに、CSSbox-shadow
プロパティを使用して、ドロップダウンメニューを「カード」のように見せています。
:hover
セレクターは、ユーザーがドロップダウンボタンの上にマウスを移動したときにドロップダウンメニューを表示するために使用されます。
ドロップダウンメニュー
ユーザーがリストからオプションを選択できるドロップダウンメニューを作成します。
この例は前の例と似ていますが、ドロップダウンボックス内にリンクを追加し、スタイル付きのドロップダウンボタンに合うようにスタイルを設定する点が異なります。
例
<style>
/* Style The Dropdown Button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* The
container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display:
inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position:
absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow:
0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the
dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown
button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link
1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
右揃えのドロップダウンコンテンツ
ドロップダウンメニューを左から右ではなく右から左に移動する場合は、次のように追加します。 right: 0;
例
.dropdown-content {
right: 0;
}
その他の例
ドロップダウン画像
ドロップダウンボックス内に画像やその他のコンテンツを追加する方法。
画像にカーソルを合わせます。
ドロップダウンナビゲーションバー
ナビゲーションバー内にドロップダウンメニューを追加する方法。