手把手,永哥教你学会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)
江山如画的头像江山如画管理团队
纯CSS实现表格的自适应布局
上一篇 2018年2月19日 上午9:34
DIV+CSS自适应布局:三列布局
下一篇 2018年2月20日 下午12:36

99%的人还看了以下文章

  • 跟永哥学HTML5(6)H5语义化标记使用示例

    介绍了HTML5中新增的语义化标记article section aside hgroup header footer nav time mark figure figcaption,对各个标记给出解释和应用示例。

    2020年2月12日
    6.3K0
  • 第1课:开始学习HTML

    建议你每天学习2到3课,然后花点时间来实验你所学到的新知识。 学习制作网站是件充满乐趣的事,而且一旦掌握它,你便会感到无比满足。好的,不多说,我们现在就开始吧! 这第一课中,我们简要介绍制作网站所需的工具。 需要哪些工具? “浏览器(browser)”你有了,它是用于浏览网站的程序。你现在就是通过浏览器在观看本页面的。 也许你听说过、甚至用过一些网页制作工具…

    2018年1月20日
    13.5K0
  • CSS Sprites:图片整合技术详细案例

    CSS Sprites:图片整合技术详细案例CSS Sprites:图片整合技术详细案例CSS Sprites:图片整合技术详细案例CSS Sprites:图片整合技术详细案例

    CSS Sprites 的目的就是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。介绍了CSS Sprites技术的实现方法,优点和缺点。最后通过实例CSS Sprites技术制作导航栏演示CSS Sprites的使用。 手把手,永哥教你学会css sprite(雪碧图)技术 CSS Sprites的原理:将小图片整合到一张大的图片上,根据具体图…

    2019年11月5日 网页制作
    12.4K0
  • 第12课:高度和宽度

    到目前为止,我们还没有在元素尺寸方面给予关注。在这一课,我们将看到为元素定义高度和宽度是十分简单的。 设定宽度[width] 设定高度[height] 设定宽度[width] 你可以通过width属性来设定一个元素的宽度,即在水平方向上的尺寸。 下面是一个简单的例子,它为我们提供了一个可以容纳文本的盒子: div.box {width: 200px;bord…

    2020年2月25日
    8.5K0
  • CSS常用类/ID命名规范

    书写规范请查看《CSS语法及命名规范(入门)》,本文介绍常用类/ID命名规范,CSS文件命名规范,如页面主体:main 内容:content 标签页:tab  章列表:list 信息:msg   标题:title   热点:hot 新闻:news注册:regsiter 合作伙伴:partner 友情链接:friendlink 页脚:footer 版权:cop…

    2019年3月14日
    10.7K0
  • css中id和class的优先级问题,与顺序无关

    id,class,style的优先级别顺序为style高于id高于class。

    2020年11月15日
    18.5K0

发表回复

登录后才能评论