首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对16:9的图像使用object-fit?

如何对16:9的图像使用object-fit?
EN

Stack Overflow用户
提问于 2020-05-03 04:47:55
回答 2查看 484关注 0票数 0

我正在尝试弄清楚如何使用object-fit来正确缩放16:9的垂直图像。

我几乎什么都试过了,但都没有成功!

https://jsfiddle.net/pdocys3j/

代码语言:javascript
复制
.container {
  width: 300px; /*any size*/
  height: 200px; /*any size*/
}

.object-fit-cover {
  width: 100%;
  height: 100%;
  object-fit: cover; /*magic*/
}
代码语言:javascript
复制
<div class="container">
  <img class="object-fit-cover" src="https://jardim-plant-images-development.s3.amazonaws.com/hfj1h9jq2q8o8tyv1r6dxhi4zrmn">
</div>

预期结果(不使用object-fit

代码语言:javascript
复制
.container {
  width: 300px; /*any size*/
  height: 200px; /*any size*/
  overflow: hidden;
}

.object-fit-cover {
  width: 100%;
  margin-top: -50%;
}
代码语言:javascript
复制
<div class="container">
  <img class="object-fit-cover" src="https://jardim-plant-images-development.s3.amazonaws.com/hfj1h9jq2q8o8tyv1r6dxhi4zrmn">
</div>

我希望我可以使用object-fit。对这种方法有什么看法?

EN

回答 2

Stack Overflow用户

发布于 2020-05-03 04:52:53

你可以这样写:

代码语言:javascript
复制
.container {
  max-width: 300px;
}

.object-fit-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
代码语言:javascript
复制
<div class="container">
  <img class="object-fit-cover" src="https://jardim-plant-images-development.s3.amazonaws.com/hfj1h9jq2q8o8tyv1r6dxhi4zrmn">
</div>

票数 -1
EN

Stack Overflow用户

发布于 2020-05-03 04:58:24

只需将position: relative添加到容器中即可。这将指示其子对象的宽度和高度与该容器的宽度和高度相关(在本例中为200x200px)。

代码语言:javascript
复制
.container {
  width: 200px; /*any size*/
  height: 200px; /*any size*/
  position: relative;
}

.object-fit-cover {
  width: 100%;
  height: 100%;
  object-fit: cover; /*magic*/
}
代码语言:javascript
复制
<div class="container">
  <img 
    class="object-fit-cover" 
    src="https://jardim-plant-images-development.s3.amazonaws.com/hfj1h9jq2q8o8tyv1r6dxhi4zrmn">
</div>

如果你想让它响应,你应该添加一个额外的容器:

代码语言:javascript
复制
.container {
  width: 100%;
  max-width: 300px; /*any size*/
}

.innercontainer {
  padding-bottom: 100%; /* 1:1 ratio */
  position: relative;
}

.object-fit-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover; /*magic*/
}
代码语言:javascript
复制
<div class="container">
 <div class="innercontainer">
  <img 
    class="object-fit-cover" 
    src="https://jardim-plant-images-development.s3.amazonaws.com/hfj1h9jq2q8o8tyv1r6dxhi4zrmn">
 </div>
</div>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61566097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档