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

height: fit-content设置后下拉框无法适配内部li元素的解决方法

解决方法

问题根源在于你的下拉框父容器.dropdownCon设置了固定的height: 50px——它作为flex纵向布局容器,会强制限制内部所有子元素的总高度,导致下拉框(.dropdown)即使设置了height: fit-content也无法展开适配列表项数量。

调整方案很简单:

  • 移除.dropdownCon的height: 50px,让父容器自动适配子元素的总高度
  • 如果你希望保持下拉按钮的固定高度,可以给.dropdownBtn单独设置height: 50px,替代父容器的固定高度限制

修改后的完整CSS代码:

.wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; /* 修正原代码中的笔误:100%x */
  height: 90px;
  background-color: green;
}

.dropdownCon {
  display: flex;
  flex-direction: column;
  /* 移除固定height:50px */
}

.dropdownBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 19px;
  font-weight: 600;
  font-family: sans-serif;
  color: #ffffff;
  padding: 11px 23px;
  background-color: #121212;
  border-radius: 5px;
  border: 1px solid #ffffff;
  cursor: pointer;
  /* 可选:若需保持按钮固定高度,添加此行 */
  /* height: 50px; */
}

.dropdown {
  width: 100%;
  height: fit-content;
  max-height: 250px;
  overflow-y: auto;
  background-color: blue;
}

.dropdown ul {
    width: 100%;
    margin: 0;
    padding: 0;
    /* 移除height:100%,让列表自适应内容高度 */
}

.dropdown ul li {
    display: flex;
    column-gap: 10px;
    align-items: center;
    width: 100%;
    height: 30px;
    font-size: 16px;
    font-weight: 500;
    font-family: sans-serif;
    color: #ffffff;
    border-bottom: 1px solid #c1c1c1;
    cursor: pointer;
}

调整后效果:

  • 当列表项数量较少时,下拉框高度自动收缩,刚好容纳所有列表项
  • 当列表项总高度超过250px时,max-height:250px生效,下拉框出现纵向滚动条,避免过度拉伸

内容的提问来源于stack exchange,提问作者seriously

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:48:15