Javascript库强制HTML元素的纵横比?

Javascript库强制HTML元素的纵横比?,javascript,jquery,css,aspect-ratio,Javascript,Jquery,Css,Aspect Ratio,是否有Javascript库可以强制HTML节点(主要是图像和div)在调整大小时保持其纵横比 当图元的宽度受窗口大小约束时,这对于调整图元高度特别有用 注意:如果这可以用纯CSS实现,我就买它 你是说像这样 代码如下: img{ width: 100%; height: auto; } 对于其他元素,它将更加复杂 这里是第二个演示: #包装纸{ 位置:相对位置; 填充底部:33.33%;/*此处设置比率*/ 身高:0; } #内容{ 位置:绝对位置; 排名:0; 左:0;

是否有Javascript库可以强制HTML节点(主要是图像和div)在调整大小时保持其纵横比

当图元的宽度受窗口大小约束时,这对于调整图元高度特别有用

注意:如果这可以用纯CSS实现,我就买它

你是说像这样

代码如下:

img{
    width: 100%;
    height: auto;
}
对于其他元素,它将更加复杂

这里是第二个演示:


#包装纸{
位置:相对位置;
填充底部:33.33%;/*此处设置比率*/
身高:0;
}
#内容{
位置:绝对位置;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景:绿色;
}

和@Derek仅适用于ImageSweel。它仅适用于具有本机纵横比的图像
div
没有纵横比,因此浏览器无法设置适当的高度。我的意思是,如果在您的示例中,您将
img
替换为
div
,您将在何处/如何设置所需的纵横比?@Matthieu-以下是如何使用
以外的元素进行设置的方法:太好了!它起作用了,我只需在
div内的图像上添加
height:100%
,保持比例。我编辑了你的答案,添加了第二个代码片段。我在Safari上遇到了一些问题,它是固定设置的
高度:100%
,而不是
包装的
0
<div id="wrapper"><div id="content"></div></div>

#wrapper {
    position: relative;
    padding-bottom: 33.33%; /* Set ratio here */
    height: 0;
}
#content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: green;    
}