CSS Sprite图
2016-07-22 17:25
507 查看
CSS Sprite图已经成为网站性能优化中必用的一个技巧了,我在这里总结一下CSS Sprite的用法。如有错误,欢迎指正。
CSS Sprite优点
减少http请求数,加快页面加载速度 (因网页上的每一个图都会创建一个http请求)
CSS Sprite使用场景
页面上使用多个静态小图,而font icon又无法满足要求。
CSS Sprite缺点
1、动态获取的图片不适合使用CSS Sprite 2、需要repeat的图片不适合使用CSS Sprite 3、图片太大也不适合使用CSS Sprite
CSS Sprite用到的知识
CSS方面:主要用到background属性,尤其是background-image、background-repeat、background-position HTML方面:主要用到显示图片大小的块级标签
CSS Sprite的实现代码
用一个简单的例子实现一个CSS Sprite,代码如下:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div{ width: 133px; height: 40px; margin:100px auto; border:1px solid #ccc; background-image: url(./sprite.png); background-repeat: no-repeat; background-position: -17px 0; } </style> </head> <body> <div> </div> </body> </html>
实现的效果如下:
图解CSS Sprite的实现
下面,我用图说明CSS Sprtie的实现过程css sprite素材
我们利用的是google网站的一副css sprite图,素材如下:html页面
html中显示图片的div标签就相当于一个窗口,通过这个窗口来展示将要显示的图片;
未设置background-position时的页面
(半透明图都是为了说明CSS Sprite而后期添加的,非页面本身展示效果)设置background-position后的页面
css中的background-image为整张css sprite图;background-repeat均取no-repeat;起关键作用的就是background-position:它指出了从css sprite图中的那个位置开始展示sprite图
(半透明图都是为了说明CSS Sprite而后期添加的,非页面本身展示效果)
总结
CSS Sprite的实现需要CSS和html两者配合: 1、html负责用一个块级标签定义 展示sprite图中一个小图的"窗口"的宽和高; 2、css的background-position负责指出 展示的sprite图某个小图的起始位置(即该小图左上角的坐标)
相关文章推荐
- css3 动画
- 各种浏览器css hack
- 【转载】CSS3的calc()使用
- Css:背景色透明,内容不透明之终极方法!兼容所有浏览器
- 自学 html + css 用到的相关文档
- CSS3实现0.5px边框
- 用纯css改变下拉列表select框的默认样式
- css3的媒体查询(Media Queries)
- 认识和理解css布局中的BFC
- css3响应式布局
- css 填坑常用代码分享
- html+css 圆角导航栏菜单
- css居中学习笔记
- 做项目过程中常用的重置CSS样式表
- css类
- CSS display:none使用注意事项小结
- 关于Css中的浮动
- 【转载】CSS魔法堂:你真的理解z-index吗?
- 下拉列表实现html+css
- CSS 滤镜 -webkit-filter 的介绍和使用