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