• 使用padding-top:(percentage)实现响应式背景图片


     我门都知道,处理在响应性布局的时候,背景图片都是等比例缩放,比如上面的使用图片的情况,使用<img /> 引入的图片的话,那么设置她们的width属性为100%;<img src=”” width=”100%”/> 的话,高度就会等比例缩放,这是图片,但是如果是背景图片呢?我门之前的项目中的常见的做法是根据css3媒体查询的方法来做的,根据不同手机的分辨率等不同,来等比例缩放背景图的高度,虽然这种方式是可以解决问题的,但是这种通过人肉的方式来进行设置并不好,也很繁琐,今天我门来学习使用padding-top这么一个属性来设置了;

    实现的基本原理:将使用到保持元素的宽高比的技巧,为元素添加垂直方向的padding-top的值,使用百分比的形式,这个值是相对于元素的宽而定的,比如我上面的一张图片的宽度是1024px,高度为316px;那么现在的

    padding-top = (高度 / 宽度 )* 100% = (316 / 1024)* 100% =  30.85%;

    但是仅仅对图片高度和宽度缩放的放还不够,我门还必须添加 background-size:cover, 使这个属性让背景铺满元素的,但是IE8及以下不支持该属性,因此为了兼容IE下面的浏览器,我门还需要再加一个属性 background-position: center ; 同时我门也要保证 图片的宽度最大等于父容器的宽度;因此下面的HTML代码如下:

    背景图片需要宽度,padding-top 设置成 百分比  就是提供类似宽度百分比的设置

    样式
    <style>
    .column{
    /*max- 1024px;*/
    }
    .figure {
    padding-top:11.63%; /* 316 / 1024 */
    background: url("img/1.png") no-repeat;
    background-size:cover;
    background-position:center;
    }
    </style>


    html
    <h3>使用padding-top实现响应性图片(图片的宽度是1024px,高度是316px)</h3>
    <div class="column">
    <div class="figure"></div>
    </div>
  • 相关阅读:
    RecycleView点击事件
    RecycleView 的使用 (CardView显示每个小项)
    wine
    git
    ubuntu 装机
    tar 压缩为多个文件&解压缩
    make error: makefile:4: *** missing separator. Stop
    python中的PEP是什么?怎么理解?(转)
    博客园如何转载别人的文章(转)
    信息熵
  • 原文地址:https://www.cnblogs.com/itliulei/p/9252434.html
Copyright © 2020-2023  润新知