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

如何为Flex子元素设50%宽度,在35rem时停止收缩并换行

实现Flex子元素的响应式宽度与自动换行

要达成你要的效果,核心是利用Flex布局的flex属性组合,配合min-width限制最小宽度,具体实现如下:

父容器样式

先给父容器设置基础Flex布局属性:

.parent {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem; /* 可选:子元素间的间距,按需调整 */
}

子元素样式

子元素的关键属性组合是flex: 1 1 50%加上min-width: 35rem:

.child {
  flex: 1 1 50%; /* 等价于 flex-grow:1, flex-shrink:1, flex-basis:50% */
  min-width: 35rem;
  /* 以下是示例占位样式,替换成你自己的内容样式即可 */
  height: 200px;
  background-color: #eee;
  border: 1px solid #ccc;
}

效果说明

  • 大屏状态:父容器宽度足够时,flex-basis: 50%让每个子元素默认占父容器的50%宽度,flex-grow:1确保如果父容器宽度不是刚好两倍子元素宽度,子元素会平分剩余空间填满。
  • 收缩触发:当父容器宽度缩小,子元素会随之收缩,直到宽度达到min-width: 35rem时停止收缩。
  • 自动换行:当父容器宽度不足以容纳两个35rem的子元素时,flex-wrap: wrap会触发换行,子元素自动变成单列排列。

完整代码示例

<div class='parent'>
    <div class='child'></div>
    <div class='child'></div>
</div>

<style>
.parent {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}

.child {
  flex: 1 1 50%;
  min-width: 35rem;
  height: 200px;
  background-color: #eee;
  border: 1px solid #ccc;
}
</style>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:57:11