我找到了这段CSS代码,可以让我保持div的宽高比。
请参考此JSFiddle示例:https://jsfiddle.net/1uyo07tg/3/ 我希望使用纯CSS的方法(不使用VW或VH)来保持这个宽高比,即使父元素比这个宽高比(在这种情况下是16:9)更宽。
换句话说,我希望蓝色的div即使父元素(.container)被拉伸到比16:9更宽时也能保持16:9的比例。
澄清一下 - 我希望有一些纯CSS的解决方案,使子div始终保持固定的比例,垂直和水平居中,不管父div的大小或宽高比如何,而且不能使用vw,vh。我很确定这需要JS代码(我已经有了),但只是想看看是否有人有一个纯CSS的巧妙技巧。
底线 - 寻找仅使用CSS实现此功能,不使用vh或vw。
希望这样讲清楚了。 有什么想法吗?
提前感谢, Sa'ar
.container {
width: 100%;
height: 100%;
background-color: red;
position: absolute;
}
.wrapper {
width: 100%;
/* whatever width you want */
display: inline-block;
position: relative;
top: 50%;
transform: translate(0%, -50%);
}
.wrapper:after {
padding-top: 56.25%;
/* 16:9 ratio */
display: block;
content: '';
}
.main {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
/* fill parent */
background-color: deepskyblue;
/* let's see it! */
color: white;
}
请参考此JSFiddle示例:https://jsfiddle.net/1uyo07tg/3/ 我希望使用纯CSS的方法(不使用VW或VH)来保持这个宽高比,即使父元素比这个宽高比(在这种情况下是16:9)更宽。
换句话说,我希望蓝色的div即使父元素(.container)被拉伸到比16:9更宽时也能保持16:9的比例。
澄清一下 - 我希望有一些纯CSS的解决方案,使子div始终保持固定的比例,垂直和水平居中,不管父div的大小或宽高比如何,而且不能使用vw,vh。我很确定这需要JS代码(我已经有了),但只是想看看是否有人有一个纯CSS的巧妙技巧。
底线 - 寻找仅使用CSS实现此功能,不使用vh或vw。
希望这样讲清楚了。 有什么想法吗?
提前感谢, Sa'ar