javascript - CSS Sprite 是如何工作的?

标签 javascript css user-interface css-sprites

我有 3 个不同的图像,想要使用 CSS 创建一个 Sprite 。我知道这会减少 HTTP 请求。然而,我对这个概念完全陌生,不知道如何解决这个问题。

什么对我来说是最好的选择?我还看到有一些 CSS Sprite 生成器,您可以在其中提交 .zip 图像并将它们组合起来。

我尝试这样做,但不明白发生了什么。任何有关创建和使用 CSS Sprite 的指导都将受到高度赞赏。

更新:我已经阅读了 A List Part 文章,但对我来说不是很清楚。有人可以提供一个使用 CSS sprite 的例子吗? [对于 SO 来说,答案中的简短、独立的示例比仅链接到其他地方的示例更可取。 –编者。]

最佳答案

您需要学习的示例如下:

#nav li a {background-image:url('sprite.gif')}
#nav li a.item1 {background-position:0px 0px}
#nav li a:hover.item1 {background-position:0px -72px}
#nav li a.item2 {background-position:0px -143px;}
#nav li a:hover.item2 {background-position:0px -215px;}

Sprite.gif 是一个大图像,包含网格中的所有较小图像(不一定如此)。然后,您可以使用定位来仅显示 Sprite 中包含图像的部分。

有一些在线工具,给定一组图像会返回一个大 Sprite 图像,并带有在哪里可以找到较小图像的坐标。

关于javascript - CSS Sprite 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2932566/

相关文章:

jQuery.hover 不工作

css - 嵌套在 css :not() selectors 中

QT GUI -> 单个窗口中的多个 View

java - 是否有在 Swing 中生成 CRUD UI 的工具或框架?

javascript - 从 TinyURL 的缩短方法捕获响应时出错

javascript - 将 javascript 嵌套函数迁移到 typescript 出现错误

javascript - 依赖node.js模块状态可以吗?

javascript - 在 v-show 显示输入后将焦点设置在输入上

javascript - 与我的实时网站集成时,隐藏和显示 div 的 JQuery 代码不起作用

Android:微调器显示来自网络服务的内容