三种方法让网站背景自动适应各浏览器大小_ 转载

原地址:http://www.daimajiayuan.com/sitejs-12661-1.html

由于显示器分辨率的不同,相同的背景图片在不同分辨率下有可能会出现只显示一部分或留部分空白的情况。

实现效果:不管你怎么变化浏览器窗口大小,背景图始终会自动调节大小。

1 . 第一种:

第一个想法是需要使用一个 css 背景图,如果这张图够大,就能填充整个屏幕。当浏览器窗口大小没有图片大时,它将自动隐藏多余的部分。

  1. <head>
  2. ....
  3. <script type="text/javascript" src="js/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function() {
  6. $("img.source-image").hide();
  7. var $source = $("img.source-image").attr("src");
  8. $(‘#page-body‘).css({
  9. ‘backgroundImage‘: ‘url(‘ + $source +‘)‘,
  10. ‘backgroundRepeat‘: ‘no-repeat‘,
  11. ‘backgroundPosition‘: ‘top center‘
  12. });
  13. });
  14. </script>
  15. </head>
  16. <body id="page-body">
  17. <img class="source-image" src="images/image.jpg" alt="" />
  18. </body>

上面的这些代码能够自动隐藏超出浏览器窗口部分的图片(image.jpg)多余部分,不会使浏览器产生滚动条。

2 . 第二种:

第一次试验的效果并没有达到要求,并不是真的使得背景图片适应窗口大小,应该使用设置“宽度”和“高度”属性来控制图片的大小,如果我们能够得到浏览器窗口显示像素,就可以利用这个数字来控制图片大小,同时保持比例。

使用 jquery 和 dimensions plugin 可以获得这些参数。

  1. <script type="text/javascript" src="/js/jquery.js"></script>
  2. <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
  3. <script type="text/javascript">
  4. $(document).ready(function() {
  5. var $winwidth = $(window).width();
  6. $("img.source-image").attr({
  7. width: $winwidth
  8. });
  9. $(window).bind("resize", function(){
  10. var $winwidth = $(window).width();
  11. $("img.source-image").attr({
  12. width: $winwidth
  13. });
  14. });
  15. });
  16. </script>

为了让这张图片更像一个背景图像,我们设置:

  1. img.source-image {position: absolute;top: 0;left: 0;}

因为背景图片加上了定位代码,那要加在背景图片上任何东西都需要定位,如果您的背景图像是竖条状的(特别的高),而你的浏览窗口特别的宽,很容易造成背景图片高度超过您的浏览器窗口的高度,为了防止这种情况,需要设定对超出的部分进行隐藏:

  1. body {overflow: hidden;}

3 . 第三次方法(最好的):

Stu Nicholls version给出了最好的方法(看了下网易的首页也是这样做的),这处理方式不需要任何的 JavaScript 就能完美的达到目的。

  1. #img.source-image {width: 100%;position: absolute;top: 0;left: 0;}

在 css 里直接设定背景图片宽度的百分比,这是这个方法的效果。这个方法是最好的,而且不需要任何的 JavaScript 。

在背景图设置中,选择最后一种方法,代码如下:

<div id="Layer1" style="position:absolute; width:100%; height:100%; top: 0;left: 0;z-index:-1">
<img src="images/backgroud.jpg" height="100%" width="100%"/>
</div>

时间: 2024-11-16 07:21:56

三种方法让网站背景自动适应各浏览器大小_ 转载的相关文章

[备忘录]三种方法取得网站根目录的物理路径

1.HttpContext.Current.Server.MapPath("~"); 2.HttpRuntime.AppDomainAppPath(推荐); 3.AppDomain.CurrentDomain.BaseDirectory; 结果: E:\IIS\WebApi\ 理由: 第1种写法,有时候HttpContext.Current会为null,比如多线程的时候. 第3种写法,有时候获得的路径是E:\IIS\WebApi,少了"\".看其它博友说的,本人未验

分区自动挂载的三种方法

一.修改/etc/rc.local配置文件追加类似命令:mount /dev/sda1  /sda1 到配置文件最后一行 二,修改/etc/fstab配置文件追加类似命令:/dev/sda1   /sda1  ext4   defaults   0  0 到配置文件中 三,安装autofs服务yum install autofs 追加类似命令:sda1   -fstype=ext4  :/dev/sda1 到配置/etc/autofs.misc文件中重启服务: service autofs re

三种简单的html网页自动跳转方法

三种简单的html网页自动跳转方法,可以让你在打开一个html网页时自动跳转到其它的页面. 方法/步骤 <html> <head> <title>正在跳转</title> <meta http-equiv="Content-Language" content="zh-CN"> <meta HTTP-EQUIV="Content-Type" CONTENT="text/ht

(转)在网页中JS函数自动执行常用三种方法

原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   functionn MyAutoRun() {   //以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!");   } </SCR

【Android】Eclipse自动编译NDK/JNI的三种方法

[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:[email protected] 一.Eclipse关联cygwin 1. 工程->右击选择Properties->选择Builders,在Builders中选择New创建一个Program 2. 参数配置 二.Eclipse关联ndk-build(自建Builder方法)  1. Project->Properties->Builders->N

在网页中JS函数自动执行常用三种方法

在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   functionn MyAutoRun() {   //以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!");   }  </SCRIPT> 下面,我们就针对上面的函数,让其在网页载入的时候自动运行! ①第一种方法 将如上代码改为: <SCRIPT   LANGUAG

一台主机搭建多网站,使用三种方法

首先,在保证互联互通的情况下,宿主机作为客户端,虚拟机作为服务端.1.网卡点击虚拟机界面右下角,打开设置2.选择网络适配器,添加3.依照步骤依次点击4.需要注意的是,此时要选择"仅主机模式"然后点:完成5.此时发现,会有两块网卡然后点击:确定6.当硬件重新加载好之后,下面更改适配器设置7.此时我们先禁用一下蓝牙,右击然后禁用就可以了,之后更改IP ,右击点属性8.依照图示选择9.选择:使用下同的IP地址IP地址可以自行填入,前三位要与后面我们要填的相对应填好之后,确定就可以了10.同样

Windows 10 应用创建模糊背景窗口的三种方法

原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windows 系统都对此有支持. 本文将介绍三种创建模糊背景窗口的方法.有人可能喜欢称之为毛玻璃窗口.亚克力窗口. This post is written in multiple languages. Please select yours: 最早我是在 StackOverflow 上回答一位网友的提问时

[Android] Android 定时任务实现的三种方法(以SeekBar的进度自动实现为例)

一.采用Handler与线程的sleep(long)方法 二.采用Handler与timer及TimerTask结合的方法 三.采用Handler的postDelayed(Runnable, long)方法  布局文件: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.c