什么是css sprites(雪碧图),css sprites使用的优缺点

更新日期: 2018-08-22阅读量: 2334标签: css

什么是css sprites?

css sprites:精灵图(雪碧图):把一堆小图片整合在一张大图上,通过背景图片相关设置(背景图片、背景图是否重复、背景图定位),显示图片,减轻服务器对图片的请求数量


css sprites优点:

1、减少网页的HTTP请求,提高页面性能
2、图片命名上的困扰
3、更换风格方便


css sprites缺点:

1、必须限定容器大小,符合背景图片元素的位置,需要计算
2、维护比较麻烦


css sprites使用步骤:

1、制作一张具有多状态的拼合图片,需要按照一定规律处理
2、给要显示背景的盒(一个固定尺寸,宽width、高height),以背景的方式加载,让其局部显示
3、通过背景图定位(background-position)控制不同的显示状态


css sprites应用实例:  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>雪碧图实现原理</title>
</head>
<style>
    ul,h3{
        margin: 0;
        padding: 0;
    }
    h3{
        display: block;
        margin: 0;
        padding: 0;
    }
    .cat{
        position: relative;
        width: 150px;
        background-color: #f8f8f8;
        border: 1px solid #bbb;
    }
    li{
        z-index: 2;
        position: relative;
        display: block;
        height: 31px;
        line-height: 31px;
        overflow: hidden;
        margin: 1px 10px 0;
        vertical-align: bottom;
        border-bottom: 1px solid #dedede
    }
    li:hover{
        background-color:#666666;
    }
    li h3{
        font-size: 13px;
        font-weight: 400;
    }
    li i{
        display: inline;
        float:left;
        margin: 3px 10px 0 0;
        height: 24px;
        width: 30px
    }
    /* 在这里补充雪碧图的样式 */
    li>i{
        background:url('http://img.mukewang.com/539a950e00015ba500710200.jpg');
    }
    .cat-2>i{
        background-position:0 -24px;
    }
    .cat-3>i{
        background-position:0 -48px;
    }
    .cat-4>i{
        background-position:0 -72px;
    }
    .cat-5>i{
        background-position:0 -96px;
    }
    .cat-6>i{
        background-position:0 -120px;
    }
    .cat-7>i{
        background-position:0 -144px;
    }
    .cat-8>i{
        background-position:0 -168px;
    }
</style>
<body>
<div class="cat">
    <ul>
        <li class="cat-1"><i></i><h3>服装内衣</h3></li>
        <li class="cat-2"><i></i><h3>鞋包配饰</h3></li>
        <li class="cat-3"><i></i><h3>运动户外</h3></li>
        <li class="cat-4"><i></i><h3>珠宝手表</h3></li>
        <li class="cat-5"><i></i><h3>手机数码</h3></li>
        <li class="cat-6"><i></i><h3>家电办公</h3></li>
        <li class="cat-7"><i></i><h3>护肤彩妆</h3></li>
        <li class="cat-8"><i></i><h3>母婴用品</h3></li>
    </ul>
</div>
</body>
</html>



站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/1026

HTML/CSS中的空格处理_如何保留页面中的空格

在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了,同时内容前后的空格也会被清除。HTML空格保留的方式、CSS空格保留的方式。

如何编写轻量级 CSS 框架

我想每个人都应该归纳总结工作中的常见需求,编写一套适合自己的 CSS 框架。大多数的轻量级框架只是 CSS 框架,不涉及 JS 部分,主要用于网页的布局。

深入理解letter-spacing,word-spacing的对比区别

word-spacing 属性增加或减少单词间的空白(即字间隔)。 letter-spacing 属性增加或减少字符间的空白(字符间距)。

CSS3 clip-path 用法介绍

clip-path属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的URL定义的路径或者外部svg的路径,或者作为一个形状例如circle().。clip-path属性代替了现在已经弃用的剪切 clip属性。

原来 CSS 这样写是会让 App 崩溃的

之前在自己的个人公众号中提到了一篇利用 CSS 的方式进行 XSS 攻击,当时有朋友跟我说,让我去获取那个网站的 cookie,再然后进入那个网站的后台去玩。然而,技术能力实在有限,搞不了这些东西

如何写出一套可维护的CSS库?

如何写出一套可维护的CSS库?不妨谈谈CSS的设计模式/架构吧。接下来将为你讲述三个主流的CSS设计思想和一个最近通用的CSS设计思想:OOCSS、SMACSS、BEMCSS、METACSS。

CSS中可以和不可以继承的属性

这篇文章整理css中无继承性的属性、继承性的属性、所有元素可以继承的属性、内联元素可以继承的属性、块级元素可以继承的属性

20个常用的CSS知识点

如何隐藏滚动条,修改滚动条样式,修改input框placeholder的颜色,按钮不可点击的样式,CSS鼠标指针事件:阻止任何JS事件,文字超出强制n行 超出部分用省略号代替,修改字体间距

css底部固定的5种方法

本文主要介绍一个Footer元素如何粘住底部,使其无论内容多或者少,Footer元素始终紧靠在浏览器的底部。我们知道,当内容足够多可以撑开底部到达浏览器的底部,如果内容不够多,不足以撑开元素到达浏览器的底部时

CSS开发中的10个不要

自我进入这个行业,我就发现开发人员一直在努力征服CSS。理由也很充分,开发人员是用逻辑思考的生物。添加一个DIV元素导致所有代码都不得不往下移一行,而另一个DIV“浮”到左侧,感觉没有任何意义。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!