如何让一个背景图片全站通用
本文是我的一点研究心得,跟大家分享一下。不过我也是新人,所以,说得不对的地方,一定请大家谅解。
现在的网站,内容在采集工具的帮助下,实在是不成问题了,那么什么让看到网站的人留下那?或者很多人回答漂亮?其实我个人的感觉是速度。
很多人说,要速度,一定要div+css,其实也不全都如此。个人感觉,速度跟很多因素都有关系,比如全站图片,代码优化、css太长,也会导致速度很慢。有点跑题了。
平时我写css代码,一般来说,一个大站点,我都会写几个css来调用。比如首页可能会调用2-3个css。其中有通用部分,也有不通用的部分,这样会让css读取效率提高。本地测试,css文件代码超过1000行,定义class或者id数量超过400个的一个css打开载入页面时间是2-3个css代码不超过500行的css文件速度的2倍左右。所以,通常我会用几个css来让网站调用。
下面说下如何让一个背景图片全站通用。以yahoo.com为例子(注意,是英文的yahoo,不是中文的)。英文yahoo的编写代码不太规范,但是很多大胆的尝试都不错。
仔细分析他们的代码,全站背景图片其实就是2个,1个是1象素700长的,另外一个是4象素4300长度的。grd-4px.gif跟grd-1px.gif(因为高度太长,我就不在这里贴出来了)。全站通用一个背景图片,是提高速度的很大因素。这一个背景,可能是不同的位置不同的颜色样子,合成的一个但是可以在不同的位置调用。
以动易来说,如果要仿yahoo的页面非常容易。通用css可以这样分类:
1、标题背景
2、css表格通用背景
3、内容背景
4、站内外搜索背景
那么,如何定义呢?使用以下CSS定义即可:
background-image:url(/UploadFiles_3793/qicaispace_net.gif);
background-repeat:repeat-x;
background-position:0 -530px;
注意最后一个定义,这个是通用一个背景图片的关键,就是调用背景图片的不同位置作为背景……
比如:定义“background-position:0 -530px;”,调用这个背景图片530px高度部分作为背景,从最左边开始铺垫。
附:背景(Backgrounds)的属性:
background-color:#f00;
background-image:url(background.gif);
background-repeat:no-repeat;
background-attachment:fixed;
background-position:0 0;
可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0;
语法是background:color image repeat attachment position;
您可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为:
color: transparent
image: none
repeat: repeat
attachment: scroll
position: 0% 0%
这就是yahoo页面上面最与众不同的地方,纵观国内门户网站、网易、qq新郎搜狐都没有如此大胆的尝试。yahoo的页面代码很负责,并且通用了一个css,还有部分css定义是放在页面上面的,不知道是为了防止 css 偷学还是其他含义。的确,全部分析下来很难,因为同一个.ht的定义,居然分了8个部分才定义完所有属性。css里面几部分,页面里面居然还有……
yahoo跟msn的英文页面是类似的,msn的英文页面还好一些,大家也可以分析一下看看。但是yahoo的英文页面,如果真的学会了,相信对大家理解css以及div的感觉以及水平,会有很大的提高。