首页 > 代码库 > css 移动端图片等比处理

css 移动端图片等比处理

   第一次写博文,心情有点小小的激动~~~~~

   刚开始做移动端项目的时候遇到了一些优化的问题,比如,打开网页在2g或者3g的情况下加载网页,刚开始渲染的时候,遇到图片文件未请求,图片的高度会为0,当然,如果你给定图片的高度的时候就不会有这样的情况,这样会出现渲染过程不平缓的情况。

类似这样。

技术分享

   之后查询了网上的一些相关资料,发现用rem可以实现宽度等比,但是项目已经基本完成,所以这个办法也是走不通了。。。@@

   最后用乐另外一种

<div class="headimg">            <div class="headimgKs">            </div>        </div><style>.headimg {    width: 100%;    height: 0;    position: relative;    padding-bottom: 40%;}.headimgKs {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: url(1.jpg) no-repeat;    background-size: 100% 100%;    -moz-background-size: 100% 100%;    -webkit-background-size: 100% 100%;    -o-background-size: 100% 100%;}</style>

技术分享

    试过之后发现效果极佳,原理是利用背景图和绝对定位和padding-bottom属性的百分比值是根据容器宽度进行计算,也就是说容器宽度为320px,padding-bottom:40%就是128px,这样就实现了等比显示图片。

    后期又在此基础上实现了一些优化,比如没有图片时的提醒

技术分享

<div class="guanggaoBanner"><i>暂无图片</i><div  class="right-img"></div></div><style>.guanggaoBanner {    position: relative;    width: 94%;    height: 0;    padding-bottom: 50%;    background-color: #ddd;}.guanggaoBanner i {    position: absolute;    top: 45%;    left:0;    text-align: center;    width: 100%;    color: #000;}.right-img {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: url(1.jpg);    background-size: 100% 100%;    -webkit-background-size: 100% 100%;    -moz-background-size: 100% 100%;}</style>

  或者是没有图片的时候给定一张默认图,在第一个例子的基础上把背景图改为 background: url(1.jpg),url(‘默认图‘) ;

写得不好的地方还请大家不吝赐教哈,3Q

 

css 移动端图片等比处理