完全使用 CSS 将具有给定纵横比的信箱内容

问题描述

我知道有两种方法可以将元素以给定的纵横比扩大到最大尺寸(在代码笔中,注意并使用调整大小手柄):

这两种解决方案都让高度由给定的宽度和纵横比决定。

两种解决方案都失败

  • 我没有足够的高度来给出并且真的希望内容垂直加框(左右空格)或
  • 我确实有足够的高度,但我仍然希望内容水平装箱(顶部和底部有空间)。

一个典型的例子是一个固定大小的查看器窗口和不同大小的图像。

这在 JS 中很容易做到,但当然最好使用纯 CSS 解决方案。

This codesandbox 展示了我想要的东西,用 JS 实现。

有一些特殊的解决方案:svgpreserveAspectRatio,而 imgvideoobject-fit(视频实际上很酷,因为它允许您定位chrome 独立于视频;如果您想播放示例 I have one here)。

那么 - 我如何为任意 html 获取它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)