CSS sprites是指把网页中很多小图片(很多图标文件)做成按规律排列的一张大图上,在显示的时候通过background-image、background-position显示图片特定部分达到和分散的一张张小图片一样的效果。
作用:
作用:background-size设置 背景图像的大小尺寸 。
一、margin和width实现水平居中
优点: 实现方法简单易懂,浏览器兼容性强;
缺点: 扩展性差,只能针对已知宽度的div,无法自适应未知项情况。
)
二、inline-block实现水平居中方法
做点: 简单易懂,扩展性强;
缺点: 需要额外处理inline-block的浏览器兼容性。
1)、opacity作用于元素以及元素内的 所有内容的透明度 ,子元素会继承父元素的 opacity 属性。
2)、rgba()只作用于元素的颜色或其背景色,后代元素不会继承透明性,只是针对自己本身有效,无法使内部的所有元素透明。
1.CSSSprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。
下面我给出了一个概念图,你可以参考一下。
说到底还就是通过某些手段把许多小图片给塞入一张大图中,这样做的好处就是在加载网页的时候就只需要加载一次——就是咱们上面说的大图。
2.手段:运用了css中的background-position,这是css中的一个属性。意思是调整css盒子中的背景图片的位置.
3.代码示例:
.d1{background-position:0px 0px}
此代码意思是id名为test1的背景图片的位置为坐标原点的0位置,即默认位置
d2{background-position:50px 50px}
此代码的意思是id名为test2的背景图片的位置为原点位置(默认位置)的上下左右位置的50像素距离处。
4.关于代码和属性的解释可以参考“css手册”。
用sprite generator 可以做繁复的工作,将图片打包成 zip 上传上去,而且会把图片组合成 sprite,还帮生成 CSS 代码。
它是使用RIA开发一个针对CSS Sprites 的样式生成工具,小巧,实用。
CSS Sprites原理
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。
CSS Sprites优点
1.利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
2.个人认为能CSS Sprites能减少图片的字节,我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
CSS Sprites缺点
1.在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好只够的空间,防止板块内不会出现不必要的背景;这些还好,做痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
2.CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸好腾讯的鬼哥用RIA开发了一个CSS Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!
3.CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无序改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,有只能(最好)往下加图片,这样图片的字节就增加了,还要改的css。