最近一个客户的手机网站中的一个页面的PSD效果如下,背景做成下面的样子:
我一看,这背景得用背景的渐变做,于是写了下面的代码:
body{ background:radial-gradient(ellipse 150% 100% at center bottom,#1770f8,#113071,#00040c); }然而我发现背景根本不全屏,原因是body内容过少,在很多手机下面,只有半屏,背景渐变和背景图片一样,不能占全屏,只能占body的全部(就算设置 background-size:100% 100% 也没用)。不像背景颜色,可以占满全屏。
于是乎,我想,这解决也简单,获取window和document的高度,谁高,就把谁的高度给body,于是乎,写了下面的jquery:
var wh = $(window).height(); var dh = $(document).height(); if(wh < dh){ wh=dh; } $("body").height(wh);发给客户之后,客户回复说,部分背景不全屏。我一查看,果然如此,有些页面不全屏,估计是键盘占用屏幕或者什么问题,具体我也没研究,客户等着要。怎么办呢,没办法的办法,把背景截成图片,然后,将它当做图片,插入进去,再给它绝对定位,width和height都给100%,代码如下:
css代码:
.background { position: absolute; overflow: hidden; z-index: -10; width: 100%; height: 100%; right: 0px; top: 0px; bottom: 0px; left: 0px; }html代码:
<img src="images/body_bg.png" class="background">完美解决,当然,上面的js代码也不需要了。我就是这种多一事不如少一事,解决了就万事大吉,也不研究咋回事了。