如何仅使用CSS保持HTML容器的纵横比

3
标题有点误导,因为仅仅维护html元素的长宽比是简单的,使用百分比的宽度和padding-bottom或padding-top。然而,在我的情况下略微有些不同。也许解决方案同样简单,但我的大脑已经烧毁了。
那么,在我的情况下,我有一个内容div在容器div内。假设容器div可以具有任何尺寸和大小。要求是内部div需要保持自己的纵横比,但还需要适应容器div的高度或宽度,无论哪个更接近于内容div的纵横比。
例如,我的内容div具有16:9的纵横比。我的容器div目前宽度为500px,高度为1000px。在这种情况下,我的内容div将自动调整到500px宽和281px高,上下留出白色空间。现在容器div可能会被调整为1000像素宽和500像素高,在这种情况下,内容div将调整为889px宽和500px高,左右留出白色空间。
可能有一种不太复杂的方法来解释这种情况,但我的大脑今天已经烧毁了。任何帮助都将不胜感激。
编辑:我正在寻找纯CSS的解决方案。我知道这可以使用JS / JQuery实现。

1
你需要一些jQuery,它与之很搭配。 - Muhammad Umer
1
这对于具有固有宽高比的替换元素来说是不可能的,因此他们不得不引入 object-fit。所以我猜非替换元素是不可能的。 - Oriol
1个回答

0
你需要做的是使用类似于object-fit: cover的东西,以在你的情况下获得最佳效果。不幸的是,在这种情况下,仅使用CSS的解决方案将无法达到所需的结果,正如上面所述,需要使用JavaScript/jQuery。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接