当前位置:首页 > 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 自定义外观:

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 实现下拉菜单的显示/隐藏功能:

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;
}

响应式下拉菜单设计

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

css 制作下拉列表

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

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

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

相关文章

react 如何引入css

react 如何引入css

在 React 中引入 CSS 的方法 React 提供了多种引入 CSS 的方式,可以根据项目需求选择合适的方法。以下是常见的几种方式: 内联样式 内联样式直接在组件中通过 style 属性定义,…

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…

怎么制作css

怎么制作css

创建CSS文件 新建一个文本文件,将文件扩展名改为.css。例如styles.css。确保文件名简洁且能反映其用途。 编写CSS基础结构 CSS由选择器和声明块组成。选择器用于指定要样式化的HTML…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { width: 1…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…