如何使用 CSS 精灵?

How use CSS sprites?

我正在尝试弄清楚如何在具有 4 个精灵的精灵图像上使用 CSS 精灵。

我有显示前两个精灵的代码。我在编写代码来显示最后两个精灵时遇到了麻烦。我也无法单独显示第三个和第四个精灵。

这是图片:

如何显示最后两个? 如何单独显示第3个和第4个精灵?

这是一个非常简单的示例,其中包含最后两张图片。我建议您在 this fiddle 中与 .blockwidthheightbackground-position 一起玩耍。 background 属性 中的最后两个数字允许您定义将显示多少张图像。

.container {
  position: relative;
  width: 600px;
  height: 600px;
}

.container .block {
  background: url(https://i.stack.imgur.com/SBxX4.png) -85px -420px;
  width: 310px;
  height: 250px;
}
<div class="container">
  <div class="block">

  </div>
</div>

您可以在 JSFiddle

上试用它

HTML

<div class="container">
    <ul>
        <li id="belt-1"></li>
        <li id="belt-2"></li>
        <li id="belt-3"></li>
        <li id="belt-4"></li>
    </ul>
</div>

CSS

.container {
    position: relative;
    width: 600px;
    height: 600px;
}

.container ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.container ul li {
    background-image: url(https://i.stack.imgur.com/SBxX4.png);
    margin-bottom: 20px;
    width: 150px;
    height: 78px;
    background-size: auto 286px;
    background-position: 0 0;
}

.container ul li#belt-2 {
    background-position-y: 210px;
}

.container ul li#belt-3 {
    background-position-y: 123px;
    height: 58px;
}

.container ul li#belt-4 {
    background-position-y: 66px;
    height: 58px;
}

始终记住 CSS 精灵中的所有图像,应该具有相同的 canvas 大小

我创建了一个 CSS 精灵的基本示例,希望对您有所帮助。