具有负背景位置的css精灵不清楚

kob*_*obe 3 html css css-sprites

我正在研究一些使用css sprites的现有代码.有大图像,用于显示所有图像.

它基本上是一个Ul和li元素.每个li元素使用此图像并使用背景位置.

我完全理解css sprites,它的性能更好.但唯一不明确的是为什么x和y位置以负边距开始.精灵中的大多数图像都是通过使用类似的东西来重新获得的

-540px -30px like this
Run Code Online (Sandbox Code Playgroud)

我正在浏览器上观看该图像并且它显示正确,并且它们应该正确0,0.

我在这里错过了什么

Uni*_*ron 11

只需将元素视为窥视孔,将精灵图像移动到其后面即可.

0,0 是窥视孔的左上角.

根据您想要看到的巨大精灵图像的哪个部分,您需要为其提供负偏移.

-50, -20
|-----------------------------------------------|
|                                               |
|       0,0                                     |
|       |-----|                                 |
|       |     |  <--- Peep-hole                 |
|       |-----|                                 |
|                                               |
|                                               |
|-----------------------------------------------|
Run Code Online (Sandbox Code Playgroud)

  • @siri如果你指定'0,0`,CSS精灵图像的左上角将与元素的左上角相同.因此元素将显示精灵图像左上角的任何内容.但是,如果要显示的图标在右侧显示为未显示在元素中,该怎么办?您需要将精灵图像移动到左侧.一旦这样做,偏移就变为负数.那更容易理解吗? (2认同)