【发布时间】:2015-09-04 17:54:37
【问题描述】:
在调整浏览器窗口大小时,我无法将“transform-scale”属性保持在纵横比上。例如,如果调整了窗口的大小,则带有 transform-scale 属性的 iframe 将缩放里面的内容以适应 iframe 的宽度和高度,而无需调整网站内容的任何大小。如果不使用 JavaScript 或任何其他库,我似乎无法理解如何实现这一点。这是我在下面想出的:
HTML:
<div>
<iframe id="resize" src="http://www.w3schools.com/" width="100%" height="100%"></iframe>
</div>
CSS:
* {
margin:0;
padding:0;
}
div {
height: 100vw;
width: 56.25vw;
/* 100/56.25 = 1.778 */
background: skyblue;
max-height: 100vh;
max-width: 177.78vh;
/* 16/9 = 1.778 */
margin: auto;
position: absolute;
top:0;
bottom:0;
/* vertical center */
left:0;
right:0;
/* horizontal center */
}
iframe {
-webkit-transform:scale(0.8);
-moz-transform-scale(0.8);
-o-transform: scale(0.8);
-ms-zoom: 0.8;
}
http://jsfiddle.net/rkmyc95e/1/
我要做的就是在缩放窗口时保持“transform-scale”的纵横比。
注意:如您所见,我在保持 iframe 的纵横比方面也遇到了问题,我无法保持顶部和底部保持原位。
【问题讨论】:
标签: html css iframe aspect-ratio