CSS:利用padding来设置具有固定宽高比的盒子

问题需要总结,知识需要沉淀

实现效果:固定宽高比的盒子

CSS特性:padding-bottom: 56.25%;//设置宽高比为16:9的盒子

依据原理:padding-bottom 规定应该从父元素的padding-bottom继承;但是如果padding-bottom的值设置为百分比,则这个百分比是相对于父元素的宽度而言的。

Sample code:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>padding demo</title>
    <style type="text/css" charset="utf-8">
        .contain {
            position: relative;
            width: 100%;
            background-color: black;
        }
        .box {
            width: 100%;
            padding-bottom: 56.25%;
            background-color: white;
        }
        .content {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: hsla(120, 50%, 50%, .5);
        }
    </style>
</head>
<body>
    <div class="contain">
        <div class="box">
            <div class="content">
                
            </div>
        </div>
    </div>
</body>
</html>

推荐阅读更多精彩内容