CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的"background-image","background-repeat","background-position"的组合进行背景定位,background-position可以用数字精确地定位出背景图片的位置。
优点:
①减少网页的http请求,从而加快了网页加载速度,提高用户体验。
②减少图片的体积,因为每个图片都有一个头部信息,把多个图片放到一个图片里,就会共用同一个头信息,从而减少了字节数。
③解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名。
④更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。
缺点:
①在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂。
②CSS Sprites在开发的时候,要通过photoshop或其他工具测量计算每一个背景单元的精确位置。
③在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片。
④精灵图不能随意改变大小和颜色。改变大小会失真模糊,降低用户体验,Css3新属性可以改变精灵图颜色,但是比较麻烦,并且新属性有兼容问题,现在一般用字体图标代替精灵图。