何喜阳博客

flex布局下img元素被拉伸变形的有效解决办法

在 flex 布局下图片被拉伸:
在flex布局下出现的情况

正常的效果:
预期效果

解决方案:

给出现变形的元素设置 flex-shrink: 0

flex-shrink: 0;

这种方式不会破坏现有的目录结构,只需要给被拉伸的 img 添加一个 css 属性。

flex-shrink 的意思是将子元素宽度之和与父元素宽度的差值按照子元素 flex-shrink 的值分配给各个子元素,每个子元素原本宽度减去按比例分配的值,其剩余值为实际宽度。

在flex布局中,子元素我们没有定义 flex-shrink 属性时默认值为 1,浏览器将会自动按照默认值 1 在所有因子相加之后计算比率来进行空间收缩,因此在图片加载过程中可能会出现被拉伸的情况,我们直接设置为 0 表示不收缩。

属性描述及兼容性可以参考 MDN 的文档:https://developer.mozilla.org/zh-CN/docs/Web/CSS/flex-shrinkopen in new window

以上就是全部内容了。如果你觉得内容有帮助,可以扫码打赏,请我吃一顿饭。

微信支付宝

当前页面地址:https://hexiyang.cn/article/1552977251528.html

内容基于 《自由转载-非商用-非衍生-保持署名》 协议发布,允许非商用转载,需要保留作者姓名和当前页面链接。