CSS-防止图片挤压变形- object-fit、object-position属性

本文介绍了如何利用CSS的object-fit和object-position属性来解决图片因尺寸比例不匹配导致的变形问题。object-fit属性用于指定元素内容如何适应容器,提供了fill、contain、cover等多种模式来保持或改变图片比例。而object-position则用来设置内容在容器中的位置。通过这两个属性的组合使用,可以实现图片在不同尺寸容器中完美展示。
摘要由CSDN通过智能技术生成

前言

我们在上传图片时,由于图片尺寸与我们所设置的尺寸比例不一致,会出现图片被挤压变形的现象。在此介绍一下CSS属性object-fitobject-position,以此完美解决此问题的发生。

object-fit

属性说明

object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度。

一般用于 img 和 video 标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等。

语法

object-fit: fill|contain|cover|scale-down|none|initial|inherit;

属性值

描述
fill默认,不保证保持原有的比例,内容拉伸填充整个内容容器。
contain保持原有尺寸比例。内容被缩放。
cover保持原有尺寸比例。但部分内容可能被剪切。
none保留原有元素内容的长度和宽度,也就是说内容不会被重置。
scale-down保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
initial设置为默认值。
inherit从该元素的父元素继承属性。 

 示例

对图片进行剪切,保留原始比例:

img{
 width: 200px;
 height: 200px;
 object-fit: cover;
 }

注:如果您还想切换被替换元素的内容对象在元素框内的对齐方式。可以通过使用 object-position 属性。

 object-position 

属性说明

object-position 属性一般与 object-fit 一起使用,用来设置元素的位置。

一般用于 img 和 video 标签。

语法

object-position: position|initial|inherit;

属性值

描述
position指定 image 或 video 在容器中的位置。第一个值为 x 坐标位置的值,第二个值为 y 坐标位置的值。表示的方式有:
object-position: 50% 50%;
object-position: right top;
object-position: left bottom;
object-position: 250px 125px;
initial设置为默认值。
inherit从该元素的父元素继承属性。 

 示例

根据容器大小重置图片的大小,并设置图片的位置:

img{
 width: 200px;
 height: 200px;
 object-fit: none;
 object-position: 5px 10%;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值