CSS object-fit 属性
CSS object-fit 属性用于指定 <img> 或 <video> 如何调整大小以适应其容器。
CSS object-fit 属性
CSS object-fit 属性用于指定 <img> 或 <video> 如何调整大小以适应其容器。
此属性通过多种方式告诉内容填充容器,例如“保留宽高比”或“拉伸并占据尽可能多的空间”。
看下面这张来自巴黎的图片。这张图片宽 400 像素,高 300 像素。
但是,如果我们给上面的图片设置宽度为原来的一半(200 像素),高度不变(300 像素),它看起来会是这样:
我们看到图片被压扁以适应 200x300 像素的容器(其原始宽高比被破坏了)。
这就是 object-fit 属性的用武之地。 object-fit 属性可以取以下值之一:
fill- 这是默认值。图片将被调整大小以填充指定尺寸。如有必要,图片将被拉伸或压缩以适应。contain- 图片保持其宽高比,但会调整大小以适应指定尺寸。cover- 图片保持其宽高比并填充指定尺寸。图片将被裁剪以适应。none- 图片不会被调整大小。scale-down- 图片将被缩小到none或contain的最小版本。
使用 object-fit: cover;
如果我们使用 object-fit: cover;,图片将保持其宽高比并填充指定尺寸。图片将被裁剪以适应。
使用 object-fit: contain;
如果我们使用 object-fit: contain;,图片将保持其宽高比,但会调整大小以适应指定尺寸。
使用 object-fit: fill;
如果我们使用 object-fit: fill;,图片将被调整大小以填充指定尺寸。如有必要,图片将被拉伸或压缩以适应。
使用 object-fit: none;
如果我们使用 object-fit: none;,图片不会被调整大小。
使用 object-fit: scale-down;
如果我们使用 object-fit: scale-down;,图片将被缩小到 none 或 contain 的最小版本。
另一个示例
这里我们有两个图片,我们希望它们填充浏览器窗口宽度的 50%,高度的 100%。
在下面的示例中,我们 **不** 使用 object-fit,因此当我们调整浏览器窗口大小时,图片的宽高比将被破坏。
在下一个示例中,我们使用 object-fit: cover;,因此当我们调整浏览器窗口大小时,图片的宽高比得以保留。
CSS object-fit 更多示例
下面的示例在一个示例中演示了 object-fit 属性的所有可能值。
示例
.fill {object-fit: fill;}
.contain {object-fit: contain;}
.cover {object-fit: cover;}
.scale-down {object-fit: scale-down;}
.none {object-fit: none;}
自己动手试一试 »
CSS Object-* 属性
下表列出了 CSS object-* 属性。
| 属性 | 描述 |
|---|---|
| object-fit | 指定 <img> 或 <video> 如何调整大小以适应其容器。 |
| object-position | 指定 <img> 或 <video> 如何使用 x/y 坐标在其“自己的内容框”内定位。 |