http://www.open-open.com/doc/view/21fff8d6921b4469bef785e67415cee2

http://www.websbook.com/htmlcssdiv/yCSSjkwzfwsd_jdztpzhdygtpz_15102.html

将多个背景集成到一个png图片上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等。

演示:

class="max">最大化

class="min">最小化

这两个class都使用同一个图片:

.min, max {

width:16px;

height:16px;

background-image:url(http://developer.yahoo.com/yui/build/assets/skins/sam/sprite.png);

background-repeat: no-repeat; //我们并不想让它平铺

text-indent:-999em; //隐藏文本的一种方法

}

效果如下:

最大化

最小化

最大化最小化

我们看到一团灰,没错,因为我们还没有指定background-position,默认为 0 0,可以看下 sprite.png ,

处于这个位置正是灰块。好了,我们要找到代表最大化的加号和代表最小化的减号的位置找出来。经过测量,最大化按钮位于Y轴的350px处,最小化按钮位于

Y轴400px处。想一想我们如何才能让它们能够显示出来呢,明显,要向上提升sprite.png,得到代码如下:

.max {

background-position: 0 -350px;

}

.min {

background-position: 0 -400px;

}

html背景多图片拼接,将多个图片整合到一张图片中再用css_进行网页背景定位.相关推荐

  1. Unity切割图片:把一张图片中的物体裁成多个单独的游戏物体

    首先选中需要切割的图片素材,将Inspector面板中的 Sprite Mode 由默认的Single改为Multiple: 然后点击Sprite Editor: 第一步之后便会弹出下例面板,然后点击 ...

  2. OpenCV 学习(四)之 将图片插入另一张图片中的实现(ROI)

    /*** 将一张图片插入另一种图片中*/static void exam2() {Mat image = Imgcodecs.imread("./images/Lena.jpg") ...

  3. html网页左侧背景,CSS设置html网页背景图片 CSS设置网页背景颜色

    CSS设置网页背景图片 CSS设置网页背景颜色技术教程篇 本篇DIVCSS5以布局思想介绍使用CSS设置实现网页背景技巧为主,希望对DIV CSS爱好者有帮助.通常对网页设置背景直接对body设置背景 ...

  4. CSS设置html网页背景图片 CSS设置网页背景颜色

    http://www.divcss5.com/jiqiao/j768.shtml CSS设置网页背景图片 CSS设置网页背景颜色技术教程篇 本篇DIVCSS5以布局思想介绍使用CSS设置实现网页背景技 ...

  5. Android画板开发(四) 添加背景和保存画板内容为图片

    Android画板开发(一) 基本画笔的实现 Android画板开发(二) 橡皮擦实现 Android画板开发(三) 撤销反撤销功能实现 Android画板开发(四) 添加背景和保存画板内容为图片 A ...

  6. 想要好看的设计?收下这份网页背景设计指南吧!

    网页背景设计看似在整个网站的设计中处于一个不起眼的位置.实则,它对于用户的留存性及促进网站转化率方面都起到非常重要的作用.若是网页背景设计不合理,或者图片.色彩运用不当,对于用户而言都是视觉上的灾难. ...

  7. 怎么设置网页背景 html,html怎么设置网页背景

    方法:1.在body标签中,使用bgcolor属性设置背景颜色,语法" ":2..在body标签中,使用background属性设置背景图片,语法"". 本教程 ...

  8. 网页背景设置的方法总结

    网页背景设置的方法总结 本文会列出网页背景设置的三种方法,在目前学习初期看来,基本覆盖了所有需求,并且提供一些优秀的资源网站,方便图片的查找. 根据需求不同,我将网页背景设置分为三种: 1. 直接单纯 ...

  9. html图片滚动红点_HTML中更换或添加网站背景图片的代码怎么写?(示例)

    本篇文章主要介绍了HTML代码中如何更换或添加网站背景图片?对于小白来说,最简单的方法就是,如果是更换背景图片的话. 我们可以在网页上点击鼠标右键查看网站源代码,然后找到css里面的背景图这一段代码, ...

最新文章

  1. python做动态数据采集仪代理_python做监控数据采集,怎么做.
  2. Google Analytics 图文全攻略
  3. Swift3中数组创建方法
  4. .NET版Web后台快速开发框架 Coldairarrow
  5. CompletableFuture详解~acceptEither
  6. C++——模板(超详细的模板解析)
  7. 在浏览器上打开swf文件时变成了下载swf文件解决方式
  8. MOEA/D的通俗解析--1.MOEA
  9. iOS打包ipa无签名打包企业签
  10. 51nod 1299 监狱逃离
  11. 弘辽科技:淘宝店铺排名下降了该怎么去解决呢?
  12. cisco 2800路由器密码恢复
  13. maps-api-v3_Google Maps API的自适应设计,视网膜图像和调试
  14. 3小时GIS入门教程(三)ArcGIS 10基本操作
  15. 我应该买Arduino还是Raspberry Pi?
  16. 图数据库介绍及简单入门
  17. cocos2dx 实现水波纹效果
  18. Linux下的超级终端(minicom)
  19. 天翼博览会抢先看:“互联网+”引领智慧生活
  20. QQ空间说说尾巴修改器

热门文章

  1. pytest接口自动化测试框架 | 用python代码测试接口
  2. c语言点餐系统感悟,一个简单C语言点餐系统的学习心得
  3. 易安卓读取HTML,易安卓(E4A)怎么保存设置?
  4. 对于“卡片复用”引来的一场尴尬。。。
  5. Android美化之全局透明背景
  6. oy5.xyz_Oy ... XPathDocument 2.0更改已移回XmlDocument!
  7. 量化数值评估,查准率和召回率
  8. Vue Props的用法
  9. ReactNative开发之在原生页面调用rn控件
  10. 结构数组使用(bushi)