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

移动端如何实现元素横向滚动而非自动缩放?

横向滚动卡片被压缩的问题解决方法

你的卡片被压缩至40px左右,核心原因是Flex布局的子元素默认带有flex-shrink: 1属性——这个属性会让子元素自动缩小来适配容器宽度,直接导致你设置的width:180px失效。

修正步骤:

  1. 给.scrollable-card添加flex-shrink: 0,强制卡片保持设定宽度,禁止被压缩:
.scrollable-card {
  width: 180px;
  height: 210px;
  background: white;
  border-radius: 26px;
  margin: 0 20px;
  resize: none;
  flex-shrink: 0; /* 关键:禁止Flex容器压缩该元素 */
}

注:卡片本身不需要横向滚动,所以可以移除overflow-x: scroll、white-space: nowrap、display: inline-block这些多余属性

  1. 调整.card-wrapper的样式,确保滚动行为正常:
.card-wrapper {
  display: flex;
  flex-wrap: nowrap;
  height: 210px;
  overflow-x: auto; /* 无溢出时不显示滚动条,体验更友好 */
  width: 100%; /* 明确占满父容器宽度,触发溢出滚动 */
  margin-top: 10px;
  padding: 0 10px; /* 可选:避免卡片贴边 */
}

修正逻辑:

  • flex-shrink: 0是解决压缩问题的核心,它告诉Flex容器必须保留子元素的原始宽度,不能自动缩小。
  • 将.card-wrapper的width:auto改为width:100%,确保容器占满父元素的可用宽度,当内容总宽度超过容器时,才会触发横向滚动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:12