CSS 实现背景图尺寸不随浏览器缩放而变化

<!-- Author:博客园小dee -->

一些网站的首页背景图尺寸不随浏览器缩放而变化,例如百度个人版的首页,缩放后背景图的尺寸并不改变:

再比如花瓣网( huaban.com ):

现在用CSS来实现这一效果。

首先需要一张足够大尺寸的图片,上图百度背景图的尺寸为1600*1000px( 图片地址:http://4.su.bdimg.com/skin/12.jpg?2 );花瓣背景图的尺寸为1600*1600px( 图片地址:http://hbfile.b0.upaiyun.com/img/unauth_page/food_bg.jpg);

然后有两种方法可以达到背景图不缩放的效果:

方法一. 把图片作为background

有几个CSS的属性要提一下:background-size:cover,这个CSS3的属性作用是把背景图像扩展至足够大,以使背景图像完全覆盖背景区域,背景图像的某些部分也许无法显示在背景定位区域中,如果不使用这个属性,在IE11和FireFox中缩放浏览器,背景图片会随之缩小,同时使用-webkit-background-size: cover和-o-background-size: cover兼容webkit内核浏览器和Opera浏览器;background-attachment属性设置背景图像是否固定或者随着页面的其余部分滚动,当设置为fixed时页面的其余部分滚动时,背景图像不会移动。

代码( 用了百度的星空图,效果和上面百度的截图一至 ):

HTML:

<div id="con"></div>

CSS:

 1 body{ margin:0; padding:0;}
 2 #con{
 3
 4     position:absolute;
 5     top:0;
 6     left:0;
 7     height:100%;
 8     width:100%;
 9     background-image:url("maskimg/star.jpg");
10     background-position: center 0;
11     background-repeat: no-repeat;
12     background-attachment:fixed;
13     background-size: cover;
14     -webkit-background-size: cover;/* 兼容Webkit内核浏览器如Chrome和Safari */
15     -o-background-size: cover;/* 兼容Opera */
16     zoom: 1;
17 }

方法二.不把图片作为背景,而是使用<img>标签,效果是图片尺寸不会随浏览器缩放而变化,但是如果有竖直滚动条时,图片不会固定而会随滚动条移动。只需要把图片的宽度width设置成100%就行了。

代码很简单,只有几行,用的还是百度的星空图:

HTML:

<div id="con"><img id="pic" src="maskimg/star.jpg"></div>

CSS:

1 body{ margin:0; padding:0;}
2 #pic{ width:100%;}
时间: 2024-12-26 02:45:22

CSS 实现背景图尺寸不随浏览器缩放而变化的相关文章

CSS实现背景图尺寸不随浏览器缩放而变化的两种方法

方法一. 把图片作为background 有几个CSS的属性要提一下:background-size:cover,这个CSS3的属性作用是把背景图像扩展至足够大,以使背景图像完全覆盖背景区域,背景图像的某些部分也许无法显示在背景定位区域中,如果不使用这个属性,在IE11和FireFox中缩放浏览器,背景图片会随之缩小,同时使用-webkit-background-size: cover和-o-background-size: cover兼容webkit内核浏览器和Opera浏览器:backgro

CSS实现背景图尺寸不随浏览器大小而变化的两种方法

一些网站的首页背景图尺寸不随浏览器缩放而变化,本例使用CSS 实现背景图尺寸不随浏览器缩放而变化,方法一. 把图片作为background,方法二使用img标签.喜欢的朋友可以看看 一些网站的首页背景图尺寸不随浏览器缩放而变化,例如百度个人版的首页,缩放后背景图的尺寸并不改变:  再比如花瓣网( huaban.com ): 现在用CSS来实现这一效果. 首 先需要一张足够大尺寸的图片,上图百度背景图的尺寸为1600*1000px( 图片地址:http://4.su.bdimg.com/skin/

css实现背景图拉伸

制作页面时,有时需要在表格内插入背景图,我们可以使用CSS进行控制,代码: style="background-image:url(./images/counter_bg.jpg);background-repeat: no-repeat;background-position: right bottom;"其中,./images/counter_bg.jpg为显示图片路径. 如果现在需要实现背景图随表格拉伸而不重复的拉伸填充,如何实现?制作方法:建立表格,并在<table>

css加背景图代码

CSS让背景平铺的代码 repeat-x ,也就是沿着X方向重复下去(横向平铺): repeat-y (纵向平铺) {   background-image: url('#.jpg);  background-repeat: repeat-x  } 网页默认全屏平铺代码 来源body{background:url(#.gif)} 这样的代码代码可以应用于淘宝店的装修

css固定背景图位置 实现屏幕滚动时 显示背景图不同区域

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .container { width: 100%; padding: 50px 0; padding-bottom: 30px; height: auto; } .container.image-containe

css用背景图来替换文字来达到隐藏文字的目的

根据html代码的不同来分成两大类方法,如下 html代码: <h1 class="replace-indent">hello see</h1> 第一种方法:text-indent .replace-indent{ height:200px; width:200px; background:url(); text-indent:-9999px; } 第二种方法: .replace-indent{ height:200px; width:200px; backgr

css 在背景图上加渐变

<html> <head> <title>我的第一个 HTML 页面</title> <style> .banner { width: 100%; background: linear-gradient(to right bottom,rgba(0,0,0,0.9),rgba(0,0,0,0)),url(2.jpg) no-repeat center; height: 300px; color:white; } .center{ width:12

项目期复习总结:背景图合并,hack,浏览器内核前缀,伪类after before

目录: 1.背景图合并和CSS Spirit 2.PS基本快捷键 3.hack技术基本书写,为什么不用? 4.内核前缀 5.伪类afterbefore 1.背景图合并和CSS Spirit 背景图合并在使用时有两种方法: ①一种就是你会PS,可以自己PS实现背景图合并成一张图片,再用background-position实现背景图的定位. ②如果你不会PS,那可以用CSS背景图合并工具,直接选好图片后在线制作生成相对应格式的图片,方便快捷. background的语法: background-c

项目期复习总结1:背景图合并,hack,浏览器内核前缀,伪类after before

文件夹: 1.背景图合并和CSS Spirit 2.PS基本快捷键 3.hack技术基本书写,为什么不用? 4.内核前缀 5.伪类afterbefore 1.背景图合并和CSS Spirit 背景图合并在使用时有两种方法: ①一种就是你会PS.能够自己PS实现背景图合并成一张图片.再用background-position实现背景图的定位. ②假设你不会PS.那能够用CSS背景图合并工具,直接选好图片后在线制作生成相相应格式的图片.方便快捷. background的语法: background-