HTMLでのカスタムドロップダウンメニュー – HTMLで始めるホームページ作成
ホームページを作成するとき、ユーザーエクスペリエンスを向上させるために、カスタムドロップダウンメニューを実装することがよくあります。さらに、このガイドでは、HTMLを使用して簡単にカスタムドロップダウンメニューを作成する方法を説明します。
基本的なHTML構造
まず、基本的なHTML構造を作成します。次のコードは、シンプルなドロップダウンメニューのテンプレートです。
<div class="dropdown">
<button class="dropbtn">メニュー</button>
<div class="dropdown-content">
<a href="#" rel="nofollow" target="_blank" title="リンクのタイトル" aria-label="リンクのタイトル">リンク1</a>
<a href="#" rel="nofollow" target="_blank" title="リンクのタイトル" aria-label="リンクのタイトル">リンク2</a>
<a href="#" rel="nofollow" target="_blank" title="リンクのタイトル" aria-label="リンクのタイトル">リンク3</a>
</div>
</div>
上記のコードでは、ボタンとその下に配置されたリンクを含むドロップダウンメニューを定義しています。
CSSによるスタイリング
次に、基本的なスタイルを追加して、ドロップダウンメニューを見栄え良くします。以下のコードを用いると、ドロップダウンメニューにスタイルが適用されます。
/* ドロップダウンコンテナ */
.dropdown {
position: relative;
display: inline-block;
}
/* ドロップダウンボタン */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
}
/* ドロップダウンコンテンツ(非表示) */
.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;
}
/* ドロップダウンコンテンツのリンク */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* リンクにホバー時の効果 */
.dropdown-content a:hover {background-color: #f1f1f1}
/* ドロップダウンを表示するためのhover時の効果 */
.dropdown:hover .dropdown-content {
display: block;
}
/* ボタンのホバー時効果 */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
上記のCSSスタイルを使用することで、ドロップダウンメニューがよりインタラクティブに見えるようになります。
JavaScriptによるインタラクション向上
ヘッディングが終わったら、JavaScriptを使用して、ドロップダウンメニューの応答性を向上させることもできます。以下のコードでは、クリックイベントを使用してメニューを開閉します。
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('.dropbtn').addEventListener('click', function() {
document.querySelector('.dropdown-content').classList.toggle('show');
});
});
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
for (var i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
};
上記のJavaScriptコードにより、ボタンをクリックすることでメニューが開閉され、メニュー外をクリックすると自動的に閉じるようになります。
まとめ
カスタムドロップダウンメニューをHTML、CSS、およびJavaScriptを使用して構築する方法について学びました。さらに、多くの追加機能を導入して、より複雑でユーザーフレンドリーなメニューを作成することが可能です。ホームページ作成の際には、ぜひ試してみてください。