手把手,永哥教你学会css sprite(雪碧图)技术

css sprite又称雪碧图或css精灵。

雪碧图就是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。

雪碧图被运用在众多使用了很多小图标的网站上。相对于把每张小图标以.png格式文件的形式引用到页面上,使用雪碧图只需要引用一张图片,对内存和带宽更加友好。

css sprite优点:

  • 有效减少网站的http请求数量,加速图片的显示。
  • 合并多张小图片成大图,能减少字节总数(大图大小<=多张小图大小).

什么时候使用css sprite?

  • 网站使用很多小图片,且容量比较小的(2~3k)。
  • 图片加载量比较大,且为静态图片。

注意:大图片不建议用雪碧图咯,太大的图片不利于合并,且定位麻烦,一次的加载时间长,导致全部图片出现时间延迟,效果不友好,得不偿失!

css sprite原理:

将许多的小图片整合到一张大图片中,利用css中的background-image属性,background-position属性定位某个图片位置,来达到在大图片中引用某个部位的小图片的效果。

简单来说,就是利用background-position属性属性,设置背景图需要显示的起始位置,再通过标签来控制背景图显示的范围。

先来了解一下background-position属性吧,

手把手,永哥教你学会css sprite(雪碧图)技术

如上图,background-position的取值就是背景图显示的起始坐标

以左上角为(0,0)坐标

形式是background-position:0, 0;    0px 0px 也可以写成left top。

手把手,永哥教你学会css sprite(雪碧图)技术

上图中背景图部分在容器左上,定点坐标为负值

css sprite拼图:将许多的小图片整合到一张大图片中

可以用ps,或者网上很多在线雪碧图生成工具 http://alloyteam.github.io/gopng/ ,可以利用这些去生成雪碧图。

其实最好的拼图就是每个图标边距是多少和图标周围的留白留多少都控制好,这样background-position的坐标写起来才有规律。

css sprite(雪碧图)实例一

手把手,永哥教你学会css sprite(雪碧图)技术

html代码:

<ul class="container">
        <li class="icon icon-issue"></li>
        <li class="icon icon-upload"></li>
        <li class="icon icon-passage"></li>
</ul>

CSS代码:

.container {
    overflow: hidden;
    width: 50px;
    height: 200px;
    background-color: #faa755;
}

.icon {
    margin: 0 auto;
    margin-top: 20px;
    width: 40px;
    height: 30px;
    background-image: url(icon.png);
    list-style-type: none;
}

.icon-issue {
    background-position: 0 0;
}

.icon-upload {
    background-position: 0 -50px;
}

.icon-passage {
    background-position: 0 -100px;
}

效果图:
手把手,永哥教你学会css sprite(雪碧图)技术

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1334.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年2月19日 上午9:34
下一篇 2018年2月20日 下午12:36

99%的人还看了以下文章

  • 第13课:浮动元素(float)

    我们可以通过CSS属性float令元素向左或向右浮动。也就是说,令盒子及其中的内容浮动到文档(或者是上层盒子)的右边或者左边(参见第9课关于盒状模型的描述)。下图阐明了其原理: 举个例子,假如我们想让一张图片被一段文字围绕着,那么其显示效果将如下所示: 如何实现这个效果? 上例的HTML代码如下所示: <div id=”picture”><…

    2020年2月25日
    2.9K0
  • css布局基础-盒子模型

    网页设计的第一步就是设计版面布局,本文介绍了css布局基础-盒子模型,CSS盒模型是描述网页布局的视觉模型中网页元素的矩形盒状模型。盒模型由margin(边界)、border(边框)、padding(填充)和content(内容)4部分组成。

    2022年7月14日
    10.5K0
  • css布局基础:行内元素、块级元素练习

    主要知识点: 1、理解什么是行内元素?什么是块级元素? 2、知道块级元素能够设置宽高,行内元素不可设置宽高(替换元素可以)。 3、掌握display属性的使用。 4、掌握css伪类选择器的使用。 扩展: 1、nth-child()选择器 选择其父元素的第n个子元素。 效果图: 参考: <nav> <ul> <li><…

    2020年4月4日
    12.6K0
  • H5不支持frameset的三种解决方案:div+iframe、include、jQuery的onload方法加载页面

    frameset标签定义框架集,它用于组织多个窗口(框架)。每个框架存在一个独立的文档。 <frameset id=”frame” frameborder=”0″ framespacing=”0″ rows=”100,*” border=”false” scrolling=”yes”> <frame name=”topframe” scro…

    2020年1月1日
    12.9K0
  • js判断输入字符串是否为空、空格、null总结

    本文总结了在用户输入表单数据时,如何使用JS判断输入空格,为空或null的三种情况。

    2021年11月30日
    7.2K0
  • css布局基础:定位练习1

    主要知识点: 1、5种常用定位:静态定位/相对定位/绝对定位/固定定位/吸附定位(磁铁定位) position:static/relative/absolute/fixed/sticky。 2、除静态定位外,都可以用left/top/bottom/right/z-index属性进行移动。 效果图: 效果说明:故宫文字段落设置背景色黑色透明,覆盖在图片底部。 …

    2020年4月4日
    7.6K0

发表回复

登录后才能评论