背景图片拉伸(CSS方法)

  在布局现在的网站首页的时候,发现一个问题。我使用了一张1440*900的png图片作为背景图片。页面内的Div使用了较多的百分比自适应框体大小,原body元素的CSS如下

html {
    width: 100%;
    height: 100%;
}
body {
    background: url(../img/bg.png) no-repeat;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
}

  背景图片为一张渐变图片,如果图片重复平铺的话将会非常难看,所以不做平铺处理。

  这样完成后在不超过1440*900的分辨率的显示器下都没有问题,可是当用更高的分辨率的显示器查看时,发现,框体随着浏览器的大小拉伸了,可是背景图片当超过1440*900以后就会用白色背景补缺,十分难看。

  后来去查找处理方法,找到一些用js处理(由于鄙人Js还在学习,未采用),还有一些在某些特定兼容条件下用CSS处理的。

  于是,就采用以下方式重新进行背景。

  HTML部分代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <img id="background_img" src="img/bg.jpg" />
</body>
</html>

  CSS部分代码:

  

html {
    width: 100%;
    height: 100%;
}
body {
    /*background: url(../img/bg.png) no-repeat;*/
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
}
/* ------------ Background Img ------------------*/

#background_img {
    z-index: -999;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

  完成后背景图片(其实已经变成伪背景,是一个在页面的img)会随着浏览器的大小,进行拉伸。

  这种方法存在的问题:

  ①jpg图片,当拉伸到一定程度以后,画质损失会非常严重。

  ②当在空白区域鼠标右键,显示的是保存图片,而不是常规右键菜单。

原文地址:https://www.cnblogs.com/dongchongle/p/3433245.html