[图文]提高页面速度,div+css如何用一张背景图实现全站背景图片调用

作者:夏日小语 来源:动易论坛 点击数: 发布时间:2006年12月10日

  本文是我的一点研究心得,跟大家分享一下。不过我也是新人,所以,说得不对的地方,一定请大家谅解。

  现在的网站,内容在采集工具的帮助下,实在是不成问题了,那么什么让看到网站的人留下那?或者很多人回答漂亮?其实我个人的感觉是速度。

  很多人说,要速度,一定要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(/Lectures/UploadFiles_3793/200612/20061210101340854.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的感觉以及水平,会有很大的提高。

  我真的是个新手,接触divcss 时间才3个月。。接触动易2个月而已。

--------------------------

  简约、洁净,似乎是目前门户站点开始流行的一种页面风格,不同的蓝色铺垫出来的,yahoo这个页面,是可以在动易仿制出来的。页面解析速度满快。图片我发到交流板块去了,有兴趣您可以去看看。

  看了很多大家的帖子,常常不知道问题解决答案了就开始问,可是看看问的问题,实在很难让别人回答你,不是太难,而是实在太简单。这里很多高手相信不是喜欢作普及教师的,因此,很多时候不如常常自学一下,然后多多搜索一下吧……

  每个人都不是笨笨的。分享给大家我学div css的一些心得,希望对大家有所帮助。

--------------------------

附:学习yahoo的一个div css 的模版,所有背景通用 背景图片。