当前位置:首页 > CSS

css 制作下拉列表

2026-03-11 19:32:38CSS

使用 <select><option> 创建基础下拉列表

HTML 提供了原生下拉列表控件,通过 <select><option> 标签实现:

<select>
  <option value="option1">选项1</option>
  <option value="option2">选项2</option>
  <option value="option3">选项3</option>
</select>

自定义下拉列表样式

原生下拉列表样式有限,可以通过 CSS 自定义外观:

css 制作下拉列表

select {
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background-color: #f8f8f8;
  font-size: 16px;
  width: 200px;
}

使用 CSS 和 JavaScript 创建高级下拉菜单

如需完全自定义下拉菜单,可以结合 CSS 和 JavaScript:

<div class="custom-dropdown">
  <button class="dropdown-toggle">选择选项</button>
  <ul class="dropdown-menu">
    <li data-value="option1">选项1</li>
    <li data-value="option2">选项2</li>
    <li data-value="option3">选项3</li>
  </ul>
</div>
.custom-dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-toggle {
  padding: 8px 16px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  cursor: pointer;
  width: 200px;
  text-align: left;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid #ccc;
  background-color: white;
  display: none;
}

.dropdown-menu li {
  padding: 8px 16px;
  cursor: pointer;
}

.dropdown-menu li:hover {
  background-color: #f0f0f0;
}

添加交互功能

使用 JavaScript 实现下拉菜单的显示/隐藏功能:

css 制作下拉列表

document.querySelector('.dropdown-toggle').addEventListener('click', function() {
  const menu = document.querySelector('.dropdown-menu');
  menu.style.display = menu.style.display === 'block' ? 'none' : 'block';
});

document.querySelectorAll('.dropdown-menu li').forEach(item => {
  item.addEventListener('click', function() {
    document.querySelector('.dropdown-toggle').textContent = this.textContent;
    document.querySelector('.dropdown-menu').style.display = 'none';
  });
});

使用 CSS :focus-within 实现纯 CSS 下拉菜单

不需要 JavaScript 的解决方案:

<div class="pure-css-dropdown">
  <button class="dropdown-btn">选择选项</button>
  <ul class="dropdown-list">
    <li><a href="#">选项1</a></li>
    <li><a href="#">选项2</a></li>
    <li><a href="#">选项3</a></li>
  </ul>
</div>
.pure-css-dropdown {
  position: relative;
}

.dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  background: white;
  border: 1px solid #ddd;
}

.pure-css-dropdown:focus-within .dropdown-list {
  display: block;
}

.dropdown-btn {
  padding: 8px 16px;
  background: #f8f8f8;
  border: 1px solid #ccc;
  cursor: pointer;
}

响应式下拉菜单设计

确保下拉菜单在不同设备上表现良好:

@media (max-width: 768px) {
  .custom-dropdown {
    width: 100%;
  }

  .dropdown-toggle {
    width: 100%;
  }
}

标签: 列表css
分享给朋友:

相关文章

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

vue公共列表的实现

vue公共列表的实现

Vue 公共列表的实现方法 在 Vue 中实现公共列表组件,可以通过封装可复用的逻辑和模板来完成。以下是几种常见的实现方式: 使用 props 和 slots 通过 props 接收列表数据,使用…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

css按钮制作

css按钮制作

CSS按钮制作方法 基础按钮样式 创建一个简单的CSS按钮需要定义基本属性,如背景色、边框、内边距和文字样式。示例代码: .btn { background-color: #4CAF50;…