【发布时间】:2014-07-29 13:40:33
【问题描述】:
如果我有一个元素(例如 div#frame),我想尽可能多地填充屏幕,同时仍保持指定的纵横比(例如 16:9),我必须应用哪些样式?我确信 Javascript 中有一些不同的解决方案,但我想尝试一种仅使用 CSS 的方法。
我搜了一圈,虽然已经有some solutions in CSS了,但是他们使用的是百分比padding,是根据width的值来计算的,也就是说只有在浏览器水平调整大小时才会保持纵横比,并且没有垂直调整大小。
#frame
{
/* centered */
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
margin: auto;
position: fixed;
/* aspect ratio */
width: 100%;
height: 0px;
padding-bottom: 56.25%;
}
这很好用,但我想要一个解决方案,在水平和垂直调整大小时仍能保持元素的纵横比,如下图所示。
【问题讨论】:
标签: css aspect-ratio