使用jQuery和CSS将背景图片拉伸((http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网))
2015-05-09 23:31
351 查看
使用jQuery和CSS将背景图片拉伸
helloweba.com 作者:月光光 http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)现在WEB页面设计比较流行使用大背景图,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)那么您知道如何使用一张大背景图进行拉伸效果呢?也就是说使用一张固定尺寸的背景图片,让它在页面中随着浏览器尺寸进行拉伸,就像我们的电脑桌面壁纸效果。本文将带您一起使用jQuery和CSS实现背景图片拉伸效果。
![](http://www.helloweba.com/attachments/fck/imagecover.jpg)
查看演示
将背景图片拉伸,而不是平铺,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)注意平铺效果我们可以使用CSS的background-repeat来实行背景图片的平铺效果,本文讨论的是背景图片的拉伸效果。这种效果在一些前卫的页面设计中已经广泛应用,尤其在一些独立页面,像登录页面使用拉伸的背景图片效果比较常见。
目前有两种解决方案可以实现背景图片拉伸效果,一种是CSS,我们可以使用background-size:cover实现图片的拉伸效果,但是IE8及以下版本不支持background-size,于是我们尝试使用微软的滤镜效果,但是IE6不支持,毕竟还有一些后进生在使用IE6。另一种解决方案是使用jQuery,完全解决浏览器的兼容性问题,还是jQuery威武。
CSS解决方案
我们准备一张背景图片,任意尺寸的,假设我们要做一个登录页面,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)页面中使用拉升的背景图。我们只需要在body中加入以下代码:<div id="main"> ...登录表单 </div>
然后CSS这样写:http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)
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,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)并且该DIV中包含一张图片,也就是我们要求拉伸效果的背景图片。然后使用jQuery获取浏览器窗口的大小,根据浏览器窗口大小,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)动态设置背景图片的尺寸(宽和高)。$(function(){ $("body").append("<div id='main_bg'/>"); $("#main_bg").append("<img src='bg.jpg' id='bigpic'>"); 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()函数就是动态的设置了背景图片的尺寸,http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)通过jQuery的append方法动态加入背景图片,当页面加载完成时已经浏览器窗口变化时都能实现背景图片的拉伸效果,也就是页面ready和resize都调用了cover()函数。jQuery解决方案完全解决了浏览器兼容的问题,请看DEMO2
声明:本文为原创文章,helloweba.com和作者拥有版权,如需转载,请注明来源于helloweba.com并保留原文链接:http://www.helloweba.com/view-blog-198.html
(http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)http://www.xianjiaxin198.com/西安嘉信铁路器材有限公司官网)
相关文章推荐
- 使用jQuery和CSS将背景图片拉伸
- 使用jQuery和CSS将背景图片拉伸
- 使用jQuery和CSS将背景图片拉伸
- 使用jQuery和CSS将背景图片拉伸
- 使用jQuery和CSS将背景图片拉伸
- 利用jQuery和CSS将背景图片拉伸
- 利用jQuery和CSS将背景图片拉伸
- 制作html网页时如何使用CSS使背景图片拉伸(填充)
- 拉伸背景图片的方法,CSS+html+jquery,不需要大图片
- XDocReport 的简单使用 操作word 替换变量,动态图片,指定操作指令(程序)扩展(转自:http://www.cnblogs.com/fish-in-sky/p/4973237.html)
- 图片垂直居中,小图铺满div,css3点击变红叉,css背景图拉伸铺满
- 使用css设置图片背景透明,文字不透明
- css 如何让背景图片拉伸填充避免重复显示
- css之背景图片和插入图片的区别以及精灵图的使用
- css 如何让背景图片拉伸填充避免重复显示 不是平铺
- css设置背景图片不随滚动条滚动;background-attachment使用
- CSS背景图片自适应、全屏、填充、拉伸
- django之设置背景图片 CSS 拉伸 平铺
- 最近做文件上传,使用了jQuery-uploadify插件,用的是官网最新的3.2版本,官网地址:http://www.uploadify.com/download/ 在这里建议下:在面对最新的版
- 图片背景透明化(一次搜http://www.yicisou.com/)