网站首页 > 知识剖析 正文
精灵图
作用:可以有效减少服务器接收和发送请求的次数,提高了页面的加载速度。
用法:将多个小背景图标整合在一张大的图片中,通过background-position属性移动大图片的位置来显示所需小图标。
需要测量的两个数值
- 小图标的宽和高;
- 小图标距离大图片左上角的x轴和y轴的值。(其中x轴是大图片上边框,y轴是大图片的左边框)
小贴士:
一般情况下精灵图的移动数值都是负值。
需要说明的一点时,网页中x轴起点一般在左上角,y轴垂直于x轴向下延伸。
x轴:越往右,数值越大;越往左,数值越小且为负数。
y轴:越往下,数值越大;越往上,数值越小且为负数。
<style>
div {
background: url(../images/sprites.png) no-repeat;
}
.box1 {
/* 在背景图片中所需小图标的宽高值 */
width: 60px;
height: 60px;
margin: 100px auto;
/* 这对数值是小图标在大图片中所处位置。
图片的上边框当做x轴,左边框为y轴。
测量好小图标的位置之后,需要大图片向左上角移动相应的数值。
因此x轴方向数值即为负值。
所以需将背景图片向左移动182px,y轴方向保持不动 */
background-position: -182px 0;
/* 简写 */
/* background:url(../images/sprites.png) no-repeat -182px 0; */
}
.box2 {
width: 27px;
height: 27px;
margin: 150px auto;
background-position: -155px -106px;
}
</style>
<div class="box1"></div>
<div class="box2"></div>
精灵图小案例
随便从网上找一张图片作为精灵图的大图片。
<style>
* {
margin: 0;
padding: 0;
}
span {
display: block;
float: left;
margin: 100px 0;
width: 200px;
height: 200px;
background: url(../images/spritesDemo.jpg) no-repeat;
}
.h {
width: 214px;
height: 212px;
background-position: -466px -352px;
}
.t {
width: 214px;
height: 220px;
background-position: -482px -796px;
}
.m {
width: 278px;
height: 216px;
background-position: -196px -572px;
}
.l {
width: 196px;
height: 212px;
background-position: -1285px -352px;
}
</style>
<div>
<span class="h"></span>
<span class="t"></span>
<span class="m"></span>
<span class="l"></span>
</div>
下次见~
- 上一篇: CSS必知|重点属性display|实践技巧|温故知新
- 下一篇: 为什么要用CSS精灵图
猜你喜欢
- 2024-12-10 img 元素和 background-image 属性的区别
- 2024-12-10 day14:前端面试题(基础)
- 2024-12-10 前端项目性能优化-面试题
- 2024-12-10 加速网站加载速度,为用户提供闪电般的体验!
- 2024-12-10 PS制作清晰的透明PNG图片的方法和技巧教程
- 2024-12-10 CodePen上值得关注的 7 款 CSS 动画
- 2024-12-10 前端进阶高薪必看-CSS篇
- 2024-12-10 html css js基础知识点
- 2024-12-10 css面试题总汇
- 2024-12-10 大神为什么比你优秀,靠的就是这些外挂网站,看看你都知道吗?
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)