首页 > Web开发 > 详细

css实现固定长宽比布局

时间:2019-07-04 13:48:02      阅读:189      评论:0      收藏:0      [点我收藏+]

HTML结构

使用CSS实现容器长宽比,常见的HTML模板结构有两种:

<div class="aspectration" data-ratio="16:9"> 
    <div class="content"></div> 
</div>

另外一种结构是:

<div class="aspectration" data-ratio="16:9"> </div>

具体使用的时候,根据自己使用场景采用不同的结构。

垂直方向的padding

这是最早提出的一种实现方案,主要借助的原理是利用padding-top或者padding-bottom的百分比值,实现容器长宽比。在CSS中padding-toppadding-bottom的百分比值是根据容器的width来计算的。如此一来就很好的实现了容器的长宽比。采用这种方法,需要把容器的height设置为0。而容器内容的所有元素都需要采用position:absolute,不然子元素内容都将被padding挤出容器(造成内容溢出)。

比如我们容器的长宽比是16:9,那么根据计算:100% * 9 / 16可以得到56.25%。如果你希望的是4:3,那么对应的就是100% * 3 / 4

具体的CSS代码如下:

        .aspectration{
            background: #abcdef;
            width: 100%;
            height: 0;
            padding-top: calc(100% * 9/16);
            position: relative;
        }
        .content{
            width: 100%;
            height: 100%;
            background: yellow;
            position: absolute;
            top: 0;
            left:0;
        }

 

css实现固定长宽比布局

原文:https://www.cnblogs.com/caoxueying2018/p/11131628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!