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

如何让Tailwind尊重max-height设置?Radix UI Select组件问题

Radix UI Select组件max-height不生效的原因及解决方法

问题原因

Radix UI的SelectContent组件内部包含一个名为SelectViewport的子容器,下拉列表的滚动和高度限制实际上是由这个Viewport元素控制的。你直接给SelectContent设置max-h-[200pt],样式并没有作用到真正控制高度的Viewport上,所以无法生效。而h-[200pt](固定高度)和min-h-[80pt](最小高度)能生效,是因为这两个属性会直接改变SelectContent容器的高度,进而影响内部Viewport的显示范围。

解决方法

方法1:直接给SelectViewport设置样式

利用Radix提供的SelectViewport组件,直接给它添加高度限制类:

<SelectContent key={itemKey} className="select-content bg-search-panel-element">
  <SelectViewport className="max-h-[200pt] overflow-y-auto" />
  {/* 这里放置你的SelectItem选项 */}
</SelectContent>

方法2:通过CSS选择器定位内部Viewport

修改你的自定义CSS类,用属性选择器定位Radix的Viewport元素,确保样式覆盖默认值:

.select-content {
  @apply p-1 my-3 w-36 rounded-md;
}

.select-content [data-radix-select-viewport] {
  @apply max-h-[200pt] overflow-y-auto;
}

这样就能让max-height正确作用到下拉列表的滚动区域,限制下拉框的最大高度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 14:03:14