React 前端导航

antd的carousel走马灯组件在flex布局下会出现无限宽度的BUG,显示异常

antd的carousel走马灯组件在flex布局下会出现无限宽度的BUG

问题复现

开发环境: win10 + React17 + umi3 + antd v4.16

任意层次的父级节点的布局设置为flex布局,carousel组件就会出现无限宽度的问题。

测试代码如下:

<div style={{ display: "flex" }}>
  <Carousel autoplay>
    <div>
      <h3>1</h3>
    </div>
    <div>
      <h3>2</h3>
    </div>
  </Carousel>
</div>

结果如下图:

antd的carousel走马灯组件在flex布局下会出现无限宽度的BUG]

如何解决

1.直接设置carousel组件的样式宽度为固定宽度

  <Carousel autoplay style={{width:"500px"}}>
    <div>
      <h3>1</h3>
    </div>
    <div>
      <h3>2</h3>
    </div>
  </Carousel>

2.如果不存在嵌套flex布局且父级节点为flex布局的话,可以通过覆盖设置样式解决,代码如下:


.ant-carousel {
  flex: 1;
  max-width: 100%;
}

3.如果存在嵌套flex布局或跨了2个层级及以上的父级节点为flex布局的话,可以指定父节点宽度为某个固定宽度解决,代码如下:

//嵌套flex布局
<div style={{ display: "flex"" }}>
  <div style={{ display: "flex", width:"500px" }}>
    <Carousel autoplay>
      <div>
        <h3>1</h3>
      </div>
      <div>
        <h3>2</h3>
      </div>
    </Carousel>
  </div>
</div>

//跨了2个层级及以上的父级节点为flex布局
<div style={{ display: "flex"" }}>
  <div style={{ width:"500px" }}> //指定父节点宽度为500px
    <Carousel autoplay>
      <div>
        <h3>1</h3>
      </div>
      <div>
        <h3>2</h3>
      </div>
    </Carousel>
  </div>
</div>

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/12

#react#antd#carousel#走马灯

相关推荐

react中实现markdown文件读取展示

react中实现markdown文件读取展示

umi实践问题汇总--持续更新

在使用umi的过程中所遇到问题的记录汇总