You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为Dropdown添加描述?求实现图中样式下拉菜单的方案

可以实现该样式的下拉菜单

这种带分组样式的自定义下拉菜单完全可以通过HTML、CSS和JavaScript实现,下面是对应示例代码:

实现代码

HTML 结构

<div class="custom-dropdown">
  <button class="dropdown-trigger">选择选项 ▼</button>
  <div class="dropdown-content">
    <div class="dropdown-group">
      <div class="group-title">分组1</div>
      <div class="dropdown-item">选项1-1</div>
      <div class="dropdown-item">选项1-2</div>
    </div>
    <div class="dropdown-group">
      <div class="group-title">分组2</div>
      <div class="dropdown-item">选项2-1</div>
      <div class="dropdown-item">选项2-2</div>
      <div class="dropdown-item">选项2-3</div>
    </div>
  </div>
</div>

CSS 样式

.custom-dropdown {
  position: relative;
  width: 200px;
}

.dropdown-trigger {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  border: 1px solid #ccc;
  border-top: none;
  border-radius: 0 0 4px 4px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.dropdown-group {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}

.dropdown-group:last-child {
  border-bottom: none;
}

.group-title {
  padding: 4px 12px;
  font-size: 12px;
  color: #666;
  font-weight: bold;
}

.dropdown-item {
  padding: 6px 12px;
  cursor: pointer;
}

.dropdown-item:hover {
  background-color: #f5f5f5;
}

.custom-dropdown.active .dropdown-content {
  display: block;
}

JavaScript 交互

const dropdownTrigger = document.querySelector('.dropdown-trigger');
const customDropdown = document.querySelector('.custom-dropdown');

dropdownTrigger.addEventListener('click', () => {
  customDropdown.classList.toggle('active');
});

// 点击外部关闭下拉菜单
document.addEventListener('click', (e) => {
  if (!customDropdown.contains(e.target)) {
    customDropdown.classList.remove('active');
  }
});

关键说明

  • 自定义下拉菜单摆脱了原生<select>的样式限制,能完全匹配图中的分组、排版样式
  • 通过添加/移除active类控制下拉面板的显示隐藏
  • 可根据需求调整颜色、间距、字体等样式,完全复刻目标效果

内容的提问来源于stack exchange,提问作者Kaygee Del Hlobo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:32:15