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

如何移除Ant Design框架下Modal组件的滚动条?

移除Ant Design Modal组件滚动条的解决方法

如果要移除的是Modal内容区域的滚动条,有两种常用实现方案:

方案1:直接通过Modal内置props实现(最简便)

Ant Design Modal组件提供了bodyStyle属性用来自定义内容区域的样式,直接给Modal添加该属性即可,修改后的代码如下:

<Modal
  className='sample'
  visible={sample}
  destroyOnClose={true}
  // 新增该行配置
  bodyStyle={{ overflow: 'hidden' }}
  footer={
    <div className="div-button-save">
      <Button type="default" onClick={() => toggleDialog()}>
        <IntlMessages id="Portal.dialog.button.Cancel" />
      </Button>
      <Button type="primary" onClick={() => handleSave()}>
        <span><IntlMessages id="Portal.dialog.button.Submit" /></span>
      </Button>
    </div>
  }
  maskClosable={false}
  centered>
  {/* 原有Modal内容 */}
</Modal>

如果是内容过长被截断,不需要限制内容区域最大高度,可以改成bodyStyle={{ overflow: 'hidden', maxHeight: 'unset' }}。

方案2:通过自定义CSS覆盖默认样式

你已经给Modal添加了自定义类名sample,直接在全局样式或者对应模块的样式文件中添加以下代码即可:

/* 隐藏内容区域滚动条 */
.sample .ant-modal-body {
  overflow: hidden !important;
  /* 不需要限制最大高度就加下一行 */
  /* max-height: unset !important; */
}

/* 兼容不同浏览器的滚动条隐藏 */
.sample .ant-modal-body::-webkit-scrollbar {
  display: none;
}
.sample .ant-modal-body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

如果是需要移除Modal弹出时页面背景的滚动条,Ant Design默认会在Modal显示时给body添加overflow: hidden属性,如果没有生效可以检查全局样式是否有冲突,也可以在Modal显示/隐藏的回调里手动给body设置对应样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:36:02