flexbox 布局小屏溢出的根因是固定像素宽度(如 width: 1280px)、未约束图片尺寸及 flex-basis/min-width 设置不当,解决方案包括用 max-width 替代 width、图片加 max-width: 100% 和 min-width: 0、子项设 box-sizing: border-box、搭配 flex-wrap: wrap 与 gap,并用媒体查询重置小屏宽度。

Flexbox 能直接撑起响应式文章列表,但多数人卡在图文错位、小屏堆叠异常、缩略图溢出这三处——根因不是 Flex 不行,而是没管住 flex-basis、min-width 和图片固有尺寸。
为什么 flex: 1 搭配图片后中间内容被顶开?
因为 flex: 1 等价于 flex-grow: 1; flex-shrink: 1; flex-basis: 0%,它从零开始分剩余空间;而未约束的 <img> 会按原始尺寸撑开父容器,导致 .article-content 实际可分配宽度远小于预期。
- 给图片加
max-width: 100%; height: auto;,并确保其父容器(如.article-img)设了min-width: 0 - 所有列表项(
.article-item)必须设box-sizing: border-box,否则 padding/border 会额外加宽 - 别在同一个元素上同时写
width和flex: 1,后者会覆盖前者
如何让三栏列表在小屏自动切单列且不留空白?
只改 flex-direction: column 不够,子项仍保留横排时的宽度,竖排后左右留白严重。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 在
@media (max-width: 768px)中显式重置:.article-item { width: 100%; } - 用
gap: 1rem替代margin-bottom控制项间距,避免最后一项多出空白 - 若语义上主内容是标题+摘要,可用
order: -1提升其 DOM 顺序,利于读屏器和 SEO
用 flex-wrap: wrap 做网格时为何子项不换行?
这是实时预览中最常卡住的点:flex-wrap: wrap 默认是 nowrap,不显式声明就永远单行溢出。
- 父容器必须设
flex-wrap: wrap,且不能有white-space: nowrap或overflow: hidden隐藏换行痕迹 - 子项推荐用
flex: 0 0 280px(固定基础宽度 + 禁止拉伸/压缩),比width: 33.333%更稳,避开小数像素舍入问题 - 务必搭配
box-sizing: border-box和gap,别用 margin 模拟列间距
真正难调的不是“怎么写出来”,而是当产品说“左图固定 120px、文字区最小 240px、右操作栏最多占 80px”时,你得一眼看出该动 flex-basis 还是加 min-width ——这时候打开 DevTools 看 computed styles 里的实际 flex-basis 值,比猜快十倍。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










