object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度, 一般用于
img
和video
标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等
在我们工作中,经常会遇到附件上传,然后展示多张图片的,这些图片的尺寸大小不一,如果不进行样式的统一设置,看起来会比较不美观,这时我们可以使用object-fit
属性对其设置。
-
先让我们看一下
object-fit
属性的值:
-
我们新建一个
html
文件,引入几张高度不一的图片:
<head>
<title>CSS属性 object-fit</title>
<style>
div {
text-align: center;
margin-top: 200px;
}
div img {
width: 200px;
}
</style>
</head>
<body>
<div>
<img src="./Images/1.jpg">
<img src="./Images/2.jpg">
<img src="./Images/3.jpg">
<img src="./Images/4.jpg">
</div>
</body>
</html>
此时的效果是这样的:
-
我们设置统一的高度,此时的图片会失真变形:
-
我们对其设置
object-fit: cover
样式:
此时图片能保持原有尺寸比例
-
如果想改变图片的显示位置,我们可以对其设置
object-position: right top
属性:
-
我们还可以使用
object-position
属性来实现图片一些简单的过渡效果:
<style>
div {
text-align: center;
margin-top: 200px;
}
div img {
width: 400px;
height: 200px;
object-fit: cover;
object-position: right top;
transition: .5s all;
}
div img:hover {
object-position: left bottom;
}
</style>
object-position
属性一般与object-fit
一起使用,用来设置元素的位置,两者结合可以实现很多图片动画效果,有兴趣的可以自行研究一下。