zoukankan      html  css  js  c++  java
  • css实现固定长宽比布局

    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;
                 100%;
                height: 0;
                padding-top: calc(100% * 9/16);
                position: relative;
            }
            .content{
                 100%;
                height: 100%;
                background: yellow;
                position: absolute;
                top: 0;
                left:0;
            }
    致力于前端技术学习与分享,会及时更新博客。
  • 相关阅读:
    pythoon 学习资源
    cookie -- 添加删除
    前端技能
    jsonp 跨域2
    jsonp 跨域1
    webpy.org
    Flask 学习资源
    pip install flask 安装失败
    弹窗组价
    js中的deom ready执行的问题
  • 原文地址:https://www.cnblogs.com/caoxueying2018/p/11131628.html
Copyright © 2011-2022 走看看