• 如何创建width与height比例固定的元素


    面试题,刚在github上看到的,说说这里面的知识点吧~~

    padding-bottom的值,其百分比是根据元素自身的width来算的。

    padding,在标准盒模型中,width+padding+border=内盒

    到这里,其实已经做到了宽高自适应且固定比例,题目算是解答完成了。不过,我们可以扩展下这个问题:

    好了,新的问题来了,wrap的position为relative,而高度又无法指定,怎么让子元素的高度占满父元素呢?我们知道直接为box指定height:100%是没有效果的。

    这时就又用到了神奇的position:absolute;结合left:0;top:0;right:0bottom:0;可以使box完全填充满父元素wrap,当然你不能额外的为box指定width与height,那样会功归一篑。

        <style>
            .wrap{width: 100%;
                position: relative;
                padding-bottom: 20%;
            }
            .wrap .box{
                position: absolute;
                left: 0;
                top:0;
                right: 0;
                bottom: 0;
                background-color: #edd;
            }
        </style>
    <div class="wrap">
        <div class="box">
            高宽5:1
        </div>
    </div>

     还可以继续给box加padding,border,margin什么的,都ok的哟~~

            .wrap .box{
                position: absolute;
                left: 0;
                top:0;
                right: 0;
                bottom: 0;
                padding: 10px;
                margin: 15px;
                background-color: #edd;
                border: 5px solid #fff;
            }

  • 相关阅读:
    cssReset
    CSS的一些小技巧
    前端图标神器
    单例模式
    CSS 控制Html页面高度导致抖动问题的原因
    PHP中include()与require()的区别说明
    extends和implements区别
    静态,抽象类、接口、类库
    jQuery轮播图(手动点击轮播)
    jQuery实现大图轮播
  • 原文地址:https://www.cnblogs.com/qianlegeqian/p/4781363.html
Copyright © 2020-2023  润新知