【发布时间】:2022-02-12 19:18:26
【问题描述】:
我有一个容器元素(屏幕截图上的巧克力色),它包含一个 3x2 的瓷砖网格。瓷砖包含具有 16/9 分辨率图像和一些页眉和页脚的图像元素。瓷砖的跨度可以是 1-3,中间有 4px 的间隙。 图像设置为 object-fit:contain,容器元素(屏幕截图上的巧克力色)占用父级(灰色)的 100% 宽度和高度,这导致图像平铺比例与图像比例不匹配,并且图像周围有条(图片上的蓝色水色)。 我需要缩放容器元素(巧克力色),所以它的内容会得到这样的尺寸,图像元素会完全适合。
这里是堆栈闪电战。我尝试使用图像父级的纵横比,它适用于中等大小的分辨率,但不适用于小或大,然后图像再次获得水色条。
为简化起见,stackblitz 仅包含一个图像元素图块,它应该完全适合巧克力元素。您可以忽略图像内部的网格。
https://stackblitz.com/edit/angular-ivy-xu92pf?file=src/app/app.component.css
当前(巧克力容器从父容器中获取 100% 的宽度和高度):
预期(巧克力容器具有宽高比,因此其图像内容 16/9 将完美契合。在现实世界中,图像内容将没有固定的宽高比):
【问题讨论】:
-
你试过什么?你能创建一个代码 sn-p 吗?
-
我添加了带有纵横比 css 属性的 stackblitz,我已经尝试过了,它以某种方式工作,但不是在所有分辨率下。
-
我得到了你的代码,你能提供一张图片或其他东西来显示你的预期结果吗?你的问题太多了,我现在很困惑。
-
我更改了描述,并添加了预期结果
标签: css aspect-ratio object-fit