像使用 CSS 一样调整 div 的大小
演示:调整结果窗口的大小(宽度和高度)以查看 div 调整大小的图像。
在演示中,您可以看到图像和 div 都根据结果窗口视口的高度和宽度以相同的方式调整大小。
该技术使用vh/vw单位。他们允许您根据视口的高度设置宽度,根据视口的宽度设置高度。
通过结合使用 max-width 和 max-height,您可以使其行为和调整大小就像浏览器调整大小时的图像一样。
浏览器支持这些单位:IE9+。有关详细信息,请参阅canIuse。
上面的演示使用 1:1 的纵横比,但您可以通过一些计算使用任何其他纵横比,示例:
CSS(用于 1:1 纵横比)
div{
width: 80vw;
height: 80vh;
max-width: 80vh;
max-height: 80vw;
}
更进一步:vmin 和 vmax
您也可以使用vmin/vmax。这些单位选择视口宽度和高度之间的最小值或最大值,因此您可以获得所需的最大/最小高度和最大/最小宽度。但是浏览器对这些单元的支持不如vh/vw
( canIuse )。
演示
CSS(对于 1:1 纵横比):
div{
min-width:200px;
min-height:200px;
width: 80vmin;
height: 80vmin;
max-width: 800px;
max-height: 800px;
}