css——图片缩放,拉伸,变形的解决办法

文章介绍了CSS的object-fit属性和object-position属性如何解决图片在前端布局中因尺寸不匹配或样式设置导致的拉伸、变形问题。object-fit可保持图片比例缩放,避免变形,而object-position则能调整图片在容器内的位置。
摘要由CSDN通过智能技术生成

在这里插入图片描述
😃博主:小猫娃来啦
😃文章核心:css——图片缩放,拉伸,变形的解决办法

图片为什么会拉伸变形?

前端布局时,图片会出现拉伸、缩放和变形的原因可能有多种:
1.例如图片的尺寸与容器不匹配
2.设置了错误的样式属性
3.浏览器压缩

比如像这样:
在这里插入图片描述在这里插入图片描述


怎么解决?

通过调整图片的尺寸、使用样式属性或使用背景图等方式来解决。
如果图片拉伸、缩放或变形是由于浏览器压缩造成的,可以使用响应式图片或使用压缩技术来解决。
还有一些其他的解决方案,根据具体情况而定。
今天着重介绍css方法解决,那就是object-fit属性


css的object-fit属性

排列宽高不同,比例不同的图片,很容易破坏页面布局 。
如果此时给图片高度,图面会拉伸变形,巨丑。
这种情况下,我们可以使用object-fit属性
cover可以确保图片按原始宽高比例进行缩放,超出容器的部分会被裁剪掉
object-fit配合的还有一个object-position属性 它可以指定图片显示的位置

object-fit属性有什么用

  1. 调整容器中的图片或视频大小,以适应容器的尺寸。
  2. 控制图片或视频的位置,以便让它们在容器中居中或者对齐到左上角、右上角、左下角或右下角等位置。
  3. 避免图片或视频在容器中变形或拉伸。
  4. object-fit适用于需要在固定尺寸的容器中展示图片或视频的场景。
    例如:网站的相册、产品展示页面、视频播放器等。
    使用object-fit非常简单,只需要在图片或视频的样式中添加object-fit属性,并设置其值为contain、cover、fill、nonescale-down即可。

介绍一下object-position

object-position 是一种 CSS 样式属性,用于设置对象(如图片或视频)在容器中的位置。
通过设置 object-position 属性,可以改变对象在容器中的位置,从而实现布局上的调整。
该属性的值可以是一个具体的像素值,也可以是相对于容器的百分比值。
例如:
设置 {object-position: 50% 50%} 可以将对象在容器中居中显示。
该属性通常与 object-fit 属性一起使用,用于控制对象在容器中的大小和位置。


举个小栗子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			img{
				width: 300px;
				height: 300px;
				object-fit: cover;
				object-position: left top;
				transition: 1s;
			}
			img:hover{
				object-position: right bottom;
			}
		</style>
	</head>
	<body>
		<img src="https://img.zcool.cn/community/015fe55e02d1dea8012165183c9fa1.jpg@1280w_1l_2o_100sh.jpg" alt="">
		<img src="https://img.zcool.cn/community/0115c759687127a8012193a3eaa999.png@1280w_1l_2o_100sh.png" alt="">
		<img src="https://bpic.588ku.com/back_our/20210808/bg/ca506bb9197dea874b41e5418610d949_76567.png" alt="">
	</body>
</html>

请添加图片描述
你学会了嘛,快试一试吧。
在这里插入图片描述


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猫娃来啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值