CSS 精灵图(CSS Sprite)是一种网页图片优化技术,将网页中多个小图标、小背景图合并到一张大图中,通过 CSS 的background-position属性精准定位显示大图中的某一个小图标,减少网页的 HTTP 请求次数,提升页面加载速度。
把多个小图标拼接在一张透明背景的大图上,给元素设置固定宽高(等于要显示的小图标尺寸),设置大图为元素背景图,通过background-position移动背景图位置,让需要的小图标显示在元素可视区域内
/* 1. 给元素设置固定宽高 = 小图标尺寸 */
.icon {
width: 30px;
height: 30px;
/* 2. 设置精灵图为背景图 */
background-image: url(./images/sprite.png);
/* 3. 定位背景图:x偏移量 y偏移量(核心!) */
background-position: -60px -90px;
/* 可选:禁止背景图平铺(默认会重复,必须关闭) */
background-repeat: no-repeat;
}
使用精灵图的好处就是:优化加载速度,减少请求,适合固定尺寸的小图标(导航、按钮、功能图标),兼容性好,所有浏览器都支持
完整代码HTML<div class=”icon icon-home”></div> <div class=”icon icon-user”></div> <div class=”icon icon-cart”></div>
css
/* 公共样式:所有图标共用 */ .icon { /* 小图标固定尺寸 */ width: 32px; height: 32px; /* 引入精灵图 */ background-image: url(./images/icon-sprite.png); /* 禁止平铺 */ background-repeat: no-repeat; /* 行内块级排列,方便布局 */ display: inline-block; } /* 单个图标:单独定位 */ .icon-home { /* 首页图标:距离左0,上0 */ background-position: 0 0; } .icon-user { /* 用户图标:距离左40px,上0 */ background-position: -40px 0; } .icon-cart { /* 购物车图标:距离左80px,上0 */ background-position: -80px 0; }






请登录后查看评论内容