首页 > 开发 > CSS > 正文

浅谈CSS中的 object-fit 与 object-position的使用

2024-07-11 08:25:24
字体:
来源:转载
供稿:网友

本文介绍了CSS中的 object-fit 与 object-position的使用,分享给大家,具体如下:

说明

问题:

一个div宽度不固定,高度固定,采用Flex布局,它里面有两个元素一个img宽度占40%,高度占100%,一个p元素,宽度占60%,高度占100%,调整浏览器窗口大小,要保证,img元素不变形,宽高比不变,怎么办!

从图中可以看出,随着调整浏览器窗口,图片的宽高比也被破坏了,我们该怎么办呢?我想大家应该会想到用 background,用一个div的background来替代img元素,这样就可以调整它的background-size 和 background-position,就能保证图片不变形,宽高比不变了,但是其实不用这么麻烦,我们直接用 object-fit 与 object-position 就可以了。

效果图:

代码:

 

<!DOCTYPE html><html><head> <meta charset="utf-8"> <style type="text/css"> div{ height: 300px; border: 1px solid red; display: flex; } img { width: 40%; height: 100%; /*只是增加下面两行就可以了*/ object-fit: none; object-position: center; /*这行都可以不写,object-position 默认就是 center*/ } p{ width: 60%; height: 100%; background: blue; margin: 0; overflow: hidden; } </style></head><body> <div> <img src="http://img.blog.csdn.net/20171016170931485"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div></body></html>

上面是object-fit取值为 none 的情况,我们看看object-fit取值为 contain 的情况。

好的,问题解决了,我们来具体看看 object-fit 与 object-position 这两个属性

解释

object-fit 属性

这个属性决定了像img和videos这样的替换元素的内容应该如何使用他的宽度和高度来填充其容器。

object-fit 具体有5个值:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表