淘先锋技术网

首页 1 2 3 4 5 6 7

CSS中可以使用background-size属性控制背景图片的大小,让图片适应当前元素的大小。不过,它只对背景图片有效,如果我们需要控制一张img标签中的图片大小,该怎么办呢?

其实可以通过设置图片的宽度和高度来实现这个目的。但是,如果我们仅仅设置其中一个值,图片会按比例缩放,导致图片变形,不美观。所以,我们需要使用CSS3中的object-fit属性来控制图片的形状,让图片按比例缩放,不变形。

object-fit属性有以下几个取值:

object-fit:fill;       /*默认值,拉伸图片以填充元素*/
object-fit:contain;    /*缩小图片以适应元素*/
object-fit:cover;      /*拉伸图片以完全覆盖元素*/
object-fit:none;       /*按图片原始大小显示,超出元素部分不显示。*/
object-fit:scale-down; /*object-fit: contain(缩小图片以适应元素)和object-fit:none(按图片原始大小显示,超出元素部分不显示)中,选取尺寸较小的值。*/

比如,我们想要让图片缩小以适应元素,同时保持图片不变形,我们可以这样设置:

img{
width: 100%;
height: 100%;
object-fit: contain;
}

这里我们将img的宽度和高度设置为100%(根据所在元素自适应),然后将object-fit设置为contain,这样图片就按比例缩放,适应元素。如果我们想要拉伸图片以填充元素,可以将object-fit设置为fill。

总的来说,使用object-fit属性可以轻松控制图片的形状,不需要再像以前一样,在CSS中设置图片宽度和高度,不停调整,让图片不变形。使用object-fit,我们可以更专注于页面布局和样式。