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

时间: 2018-08-22阅读: 1623标签: 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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

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

关闭

六种组织CSS的方式

Ben Frain曾经说过,写css代码很容易,但是扩展和维护却很难。本文就介绍了一套方案来解决这个问题。OOCSS 意为面向对象的CSS。这种方法有两种主要 观点:结构与设计分离,容器和内容分离

css禁止选中文本_兼容实现禁用选择功能

有时候,我们需要使页面内容不可选择。首先想到的是一个css属性:user-select。user-select有两个值:none:用户不能选择文本 ,text:用户可以选择文本

css加载会造成阻塞吗?

js执行会阻塞DOM树的解析和渲染,那么css加载会阻塞DOM树的解析和渲染吗?所以,接下来我就来对css加载对DOM树的解析和渲染做一个测试。为了完成本次测试,先来科普一下,如何利用chrome来设置下载速度

CSS3 2D转换

转换是使元素改变形状、尺寸和位置的一种效果。通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸,可以大致分为2D转换和3D转换。下面介绍的是2D转换的相关知识点。

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

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

css中 出现height为100%失效的原因及解决方案

我们都知道需要给html和body标签设置了高度height:100%之后,再给内部的div设置height:100%的时候,内部div的高度100%才会起到作用。这是由于:%是一个相对父元素计算得来的高度,要想使他有效,我们需要设置父元素的height。

Javascript可以控制css吗?

JavaScript可以直接控制css。JavaScript中可以直接设置style的属性、改变class、设置cssText、创建引入新的css样式文件等方法来控制css样式。

CSS 技术技巧_提高你CSS技术的法则

CSS技术技巧法则:不要让你的代码脱离你的掌控,尽量简洁、掌握基础、保持代码的可复用性、面向对象的css、Css3了解他能做的以及你可以使用的部分、渐进增强与优雅降级、Css预处理工具...

用 CSS background 实现刻度线的呈现

简单的实现方式,大致有两种:一是用图片做背景,横向平铺线条图片;二是给每一块刻度区域平铺一个元素,然后用边线实现。身为一个“环保主义者”,这两种方式都不能让我满意。在看了 Lea Verou 的 CSS SECRETS 后,我受到了启发——可以用渐变背景的方式去实现。

为什么Web开发人员不用最新的CSS功能

尽管CSS每年都会发布全新的特性,但实际上这些新功能很少会被web开发人员实际在生产项目中使用到,甚至去了解它们的动力也不会比去多完成几个需求更多。那究竟是什么原因导致的呢?

点击更多...

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