登录

微信朋友圈本地推广广告

借助LBS技术,可以精准定向周边3-5公里人群,无论您是新店开业、促销、新品上市、会员营销,朋友圈本地广告都能有效触达顾客,提高门店顾客到访。商户可以通过门店名称、城市的方式加强所在地用户对商家品牌的认知。

加盟代理

使用jQuery和CSS将背景图片拉伸

2020-10-15 热度:186 点赞 收藏

现在WEB页面设计比较流行使用大背景图,那么您知道如何使用一张大背景图进行拉伸效果呢?也就是说使用一张固定尺寸的背景图片,让它在页面中随着浏览器尺寸进行拉伸,就像我们的电脑桌面壁纸效果。本文将带您一起使用jQuery和CSS实现背景图片拉伸效果。

查看演示
将背景图片拉伸,而不是平铺,注意平铺效果我们可以使用CSS的background-repeat来实行背景图片的平铺效果,本文讨论的是背景图片的拉伸效果。这种效果在一些前卫的页面设计中已经广泛应用,尤其在一些独立页面,像登录页面使用拉伸的背景图片效果比较常见。
目前有两种解决方案可以实现背景图片拉伸效果,一种是CSS,我们可以使用background-size:cover实现图片的拉伸效果,但是IE8及以下版本不支持background-size,于是我们尝试使用微软的滤镜效果,但是IE6不支持,毕竟还有一些后进生在使用IE6。另一种解决方案是使用jQuery,完全解决浏览器的兼容性问题,还是jQuery威武。


CSS解决方案
我们准备一张背景图片,任意尺寸的,假设我们要做一个登录页面,页面中使用拉升的背景图。我们只需要在body中加入以下代码:

<div id="main">    
...登录表单    
</div>

然后CSS这样写:

body{background:url(bg.jpg) center center;background-size:cover;height:900px;width:100%;    
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.jpg', sizingMethod='scale');}    
#main{position:absolute; top:50%; left:50%; width:420px; height:250px;     
margin:-125px 0 0 -210px; background:#ffc}

我们使用background-size实现了背景图片的拉伸效果,但是要兼容IE7,IE8就需要使用滤镜filter来实现,注意该方案中,必须指定容器的高度,本例中指定了height:900px。另外我们要让登录窗口居中,CSS写法参照:如何让DIV水平和垂直居中
CSS方案有一定的局限性,必须指定容器高度,IE6不兼容,请看DEMO1,那么比较完美的解决方案就是使用jQuery了。


jQuery解决方案
我们使用jQuery先向body中动态插入一个DIV,并且该DIV中包含一张图片,也就是我们要求拉伸效果的背景图片。然后使用jQuery获取浏览器窗口的大小,根据浏览器窗口大小,动态设置背景图片的尺寸(宽和高)。

$(function(){    
    $("body").append("");    
    $("#main_bg").append("");    
    cover();    
    $(window).resize(function(){ //浏览器窗口变化    
        cover();    
    });    
});    
function cover(){    
    var win_width = $(window).width();    
    var win_height = $(window).height();    
    $("#bigpic").attr({width:win_width,height:win_height});    
}

上述代码中,cover()函数就是动态的设置了背景图片的尺寸,通过jQuery的append方法动态加入背景图片,当页面加载完成时已经浏览器窗口变化时都能实现背景图片的拉伸效果,也就是页面ready和resize都调用了cover()函数。jQuery解决方案完全解决了浏览器兼容的问题,请看DEMO2

免责声明:本站媒体稿件仅为传播分享,并不代表赞同其观点或证实其内容的真实性,本站不承担此类稿件侵权行为的连带责任。如涉及作品内容、版权等问题,请联系我们删除!

  • 评论列表
  • 暂无评论


  • 首页

  • 新闻

  • 发布

  • 招聘

  • 我的
  • 加盟
    代理
  • 联系
    我们
  • 关注
    微信
  • 返回
    顶部