CSS 下拉菜单学习笔记

什么是下拉菜单

下拉菜单是一种常见的网页交互元素,可以展示多个选项并隐藏在一个触发按钮或链接背后。用户点击触发按钮或链接后,下拉菜单会向下展开并显示选项列表。

创建简单的下拉菜单

HTML

首先,在 HTML 文件中创建触发按钮和下拉菜单的基本结构。

htmlCopy Code
<button>下拉菜单</button> <ul> <li><a href="#">选项 1</a></li> <li><a href="#">选项 2</a></li> <li><a href="#">选项 3</a></li> </ul>

CSS

然后,在 CSS 文件中设置触发按钮和下拉菜单的样式,并将下拉菜单隐藏起来。

cssCopy Code
button { background-color: #4CAF50; color: white; padding: 8px 16px; border: none; } ul { list-style-type: none; margin: 0; padding: 0; position: absolute; display: none; } li a { display: block; color: #000; padding: 8px 16px; text-decoration: none; } li a:hover { background-color: #f1f1f1; }

JavaScript

最后,在 JavaScript 文件中编写交互代码来实现下拉菜单的展开与收起。

javascriptCopy Code
const button = document.querySelector('button'); const menu = document.querySelector('ul'); button.addEventListener('click', function() { if (menu.style.display === 'none') { menu.style.display = 'block'; } else { menu.style.display = 'none'; } });

示例

以下是一个完整的示例,创建了一个包含三个选项的下拉菜单。

htmlCopy Code
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS 下拉菜单学习笔记</title> <style> button { background-color: #4CAF50; color: white; padding: 8px 16px; border: none; } ul { list-style-type: none; margin: 0; padding: 0; position: absolute; display: none; } li a { display: block; color: #000; padding: 8px 16px; text-decoration: none; } li a:hover { background-color: #f1f1f1; } </style> </head> <body> <button>下拉菜单</button> <ul> <li><a href="#">选项 1</a></li> <li><a href="#">选项 2</a></li> <li><a href="#">选项 3</a></li> </ul> <script> const button = document.querySelector('button'); const menu = document.querySelector('ul'); button.addEventListener('click', function() { if (menu.style.display === 'none') { menu.style.display = 'block'; } else { menu.style.display = 'none'; } }); </script> </body> </html>