问题描述
我知道有两种方法可以将元素以给定的纵横比扩大到最大尺寸(在代码笔中,注意并使用调整大小手柄):
- The old padding trick,还有 see my codepen here 和
- 较新的 single-celled-grid-with-svg-sidekick trick,还有 see my codepen here。
这两种解决方案都让高度由给定的宽度和纵横比决定。
两种解决方案都失败
- 我没有足够的高度来给出并且真的希望内容垂直加框(左右空格)或
- 我确实有足够的高度,但我仍然希望内容水平装箱(顶部和底部有空间)。
一个典型的例子是一个固定大小的查看器窗口和不同大小的图像。
这在 JS 中很容易做到,但当然最好使用纯 CSS 解决方案。
This codesandbox 展示了我想要的东西,用 JS 实现。
有一些特殊的解决方案:svg
有 preserveAspectRatio
,而 img
和 video
有 object-fit
(视频实际上很酷,因为它允许您定位chrome 独立于视频;如果您想播放示例 I have one here)。
那么 - 我如何为任意 html 获取它?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)