LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

css用一张背景图background-position定位

admin
2010年2月2日 0:53 本文热度 8096
css中用一张背景图做页面的技术有什么优势?
不知道您在浏览yahoo.com的网页中是否注意到,yahoo在页面制作上的技术和大多数网站不一样,他们把页面上的 ICON,栏目背景啊,图片按钮啊等都有会有规则的合并一张背景图,然后用background-position来实现背景图片的定位,他们为什么要花费一些时间来合并这些CSS背景图片呢,CSS中用一张背景图做页面的技术到底有什么优势呢?


当您往U盘中拷200张图片,会等很久。但是如果弄成一个文件,再拷贝就会快很多。CSS Sprites(图片整合技术) 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。如下图所示:




美国YAHOO在页面制作中所用到的图片整合技术,这样做虽然需要花一定的时间来有规则的合并这些ICON,栏目背景,图片按钮,以方便CSS调用,但是这样做绝对是合算的,而且是有必要的,YSlow也是极力推荐的。


实现方法:
首先将小图片整合到一张大的图片上
然后根据具体图标在大图上的位置,给背景定位。background-position:-8px -95px;
浅谈CSS Sprites技术以及图片优化 〔背景图整合〕
  关于CSS Sprites技术的优化我们能做到多少,能减多少的请求数量。这并且不是单方面能做到的,一切取决于XHTML、CSS、CSS Sprites图片之间的配合。现时为止没有绝对优化的做法,这也是我在项目中经常衡量CSS Sprites图片与XHTML关系,如:《一张背景实现自适应九宫格》,以下总结了图片切割术与图象优化的一些方法。
图片优化
  一、对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果,而且能为你节省10%-30%的文件体积。
  二、Photoshop相比起Fireworks,导出同等质量的PNG图片,体积会稍大。而Fireworks虽然做了相应压缩优化,但没有达到优选秀的压缩。
  三、我所知的设计软件,对于PNG图片的处理都没做到优选秀的压缩,图片体积还有一定的压缩空间。可以尝试使用下面介绍的”图像优化工具” 做无失真的压缩优化。
  四、图片体积及尺寸方面,建议体积保持在100K以内(较为符合国情最佳请求SIZE),size为800px(最佳尺寸)。(从某权威人事中得知,具体无从考证)
CSS Sprites图片切割术
  一、CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位,这样能减少维护带来的不必要麻烦。
  二、不建议CSS Sprites图片中保持一定的间距,因为文件size增大而增加文件体积。
  三、CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
  四、size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。
  五、在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。
  六、在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。
  七、图片对等合并:应用CSS Sprites图片时,适当地把对等相同的图像合并,以节省空间及减少体积。
  八、区分开不需要合并的图像:如当前用户确定只显示一种状态或一个级别时,不必要把其他的级别或状态的图片合并。
  九、黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。
相关的图像优化工具
  网上流传的优化工具繁多常见的如:
  ImageMagick、PNGGauntlet、pngcrush、pngrewrite、Optipng、PNGOut等。

css中用一张背景图做页面的技术有什么优势?
简单介绍一下 CSS Sprites 的优点:
当用户往U盘中拷200张图片,会等很久。但是如果弄成一个文件,再拷贝就会快很多。
CSS Sprites 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。
实现方法:
1. 首先将小图片整合到一张大的图片上
2. 然后根据具体图标在大图上的位置,给背景定位。background-position:-8px -95px;
引用:
原帖由 14px 于 2009-6-8 18:50 发表
哈哈是咧,36÷9=4k
把9个图片合成了1个,还是4k
有点点囧。
截图给你们看

因为省略了一些文件类型的信息,所以图片会压缩的很小……
这个是压缩包,仍然保持怀疑精神的朋友们,可以自己打开看了……
引用:
原帖由 kubau0 于 2009-6-8 17:35 发表
请问,假设一个宽高均为 300px 的 div,要从一张很大的 css-sprites 背景图上取 30px 30px 的区域重复,应该怎么写呢?
需要横向重复的图片就在背景图上纵向排列 (然后图片宽度拉宽到等于画布宽度)
需要纵向重复的图片,在背景图上横向排列.. (然后图片高度拉宽到等于画布高度)
如果流量巨大(互联星空日流量3000万IP左右),在前端偷懒,等于给服务器端增加压力
增加几台服务器,更麻烦……

而且我们这里多花一点时间,每个用户打开页面速度会快一点点,几千个用户累积的时间不是小数字……
[upload=gif]20102205344-1.gif[/upload]

该文章在 2010/2/2 0:53:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved