news 2026/5/23 1:34:08

css样式用flex 布局的时候元素尺寸展示不对

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
css样式用flex 布局的时候元素尺寸展示不对

问题描述

我的代码是148px宽度,但是实际上显示的只有133px

问题根源

在 Flex 布局中,flex-shrink是flex 子元素的收缩属性,默认值是1,意思是:

  • 当父元素的宽度不足以容纳所有子元素的宽度总和时,子元素会按照flex-shrink的数值比例自动收缩,以适应父元素的宽度。
  • 你写的.main作为 flex 子元素时,因为flex-shrink: 1,父元素宽度不够的情况下,它就被收缩了 6px(164px →148px)。
    你确认了问题根源是flex-shrink的默认收缩行为导致.main的宽度被压缩,从164px变成了148px,我会帮你梳理这个问题的本质和最终的解决方案。

二、最终修复后的完整代码

我把flex-shrink: 0添加到你的.main样式中,确保宽度不会被收缩:

.main { width: 164px; /* 你期望的宽度 */ height: 100%; background: #f8fafc; display: flex; align-items: center; padding: 24px 0px; flex-direction: column; gap: 6px; flex-shrink: 0; /* 禁止flex收缩,固定宽度 */ .item { width: 132px; height: 40px; } .line { width: 108px; height: 1px; } }

三、补充:flex布局的三个核心属性

为了让你更好地掌握flex子元素的尺寸控制,这里简单说明flex的三个核心属性:

属性作用默认值
flex-grow子元素的放大比例0(不放大)
flex-shrink子元素的收缩比例1(自动收缩)
flex-basis子元素的初始宽度/高度auto(默认取元素自身尺寸)

日常开发中,也可以用简写flex: 0 0 164px;(等价于flex-grow: 0; flex-shrink: 0; flex-basis: 164px;),直接固定子元素的宽度,更简洁。

总结

  1. 问题根源是flex-shrink: 1的默认行为,导致.main在父元素宽度不足时被收缩,宽度从164px变为148px。
  2. 添加flex-shrink: 0;可以禁止flex子元素的收缩行为,让.main的宽度保持为你设置的164px。
  3. 也可以使用flex: 0 0 164px;简写形式,一次性设置放大、收缩和初始宽度,更高效。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 16:06:50

Altium Designer Viewer:免费高效的电路设计查看终极指南

Altium Designer Viewer:免费高效的电路设计查看终极指南 【免费下载链接】AltiumDesignerViewer Altium Designer Viewer是一款高效且易于使用的查看工具,专为设计工程师和团队成员打造,旨在无需进行任何注册或激活的情况下,轻松…

作者头像 李华
网站建设 2026/5/21 9:39:25

GitHub加速终极方案:告别卡顿,畅享极速开发体验

GitHub作为全球开发者必备的代码托管平台,在国内访问时经常遇到页面加载缓慢、图片无法显示等网络问题。通过精心设计的网络优化方案,我们能够彻底解决这些困扰,让GitHub访问变得流畅稳定。🔥 【免费下载链接】github-hosts &…

作者头像 李华
网站建设 2026/5/23 11:20:02

5个实用技巧:轻松掌握JSON对比工具的高效使用方法

5个实用技巧:轻松掌握JSON对比工具的高效使用方法 【免费下载链接】online-json-diff 项目地址: https://gitcode.com/gh_mirrors/on/online-json-diff JSON对比工具是现代开发中不可或缺的利器,能够快速识别数据结构的差异,帮助开发…

作者头像 李华
网站建设 2026/5/10 3:19:03

节点NotReady后容器驱逐时间调整

一、简介 早期k8s版本中,Kubernetes Controller Manager 有一些相关参数,用于控制节点监控和 Pod 驱逐的行为。 --node-monitor-grace-period40s(节点失联后等待多久才标记为不健康) --node-monitor-period30s(Contr…

作者头像 李华
网站建设 2026/5/22 13:04:26

深入浅出窗口看门狗(WWDG):从原理到实战,守护MCU系统稳定运行

在嵌入式系统开发中,“稳定性”是贯穿始终的核心诉求。无论是工业控制中的PLC、汽车电子中的ECU,还是智能家居中的传感器节点,一旦程序出现“跑飞”“死循环”等异常,都可能引发设备故障、数据丢失甚至安全事故。为应对这类问题&a…

作者头像 李华
网站建设 2026/5/9 3:16:48

Qwen2-VL微调终极指南:3步快速上手视觉语言模型训练

Qwen2-VL微调终极指南:3步快速上手视觉语言模型训练 【免费下载链接】Qwen2-VL-Finetune An open-source implementaion for fine-tuning Qwen2-VL and Qwen2.5-VL series by Alibaba Cloud. 项目地址: https://gitcode.com/gh_mirrors/qw/Qwen2-VL-Finetune …

作者头像 李华