CSS 精灵中的“背景位置”使用负值
`background-position` in CSS sprites using negative values
我的问题是关于 background-position
属性 的负值。
我正在阅读 Jon Duckett 的 HTML 和 CSS,我有以下 sprite,其中每个按钮的高度为 40px。
我还从书中生成了一些以下代码,以在用户悬停并单击这些按钮时激活这些精灵。
a.button {
height: 36px;
background-image: url("https://image.ibb.co/jnHrwk/button_sprite.jpg");
text-indent: -9999px;
display: inline-block;
}
a#add-to-basket {
width: 174px;
background-position: 0px 0px;
}
a#framing-options {
width: 210px;
background-position: -175px 0px;
}
a#add-to-basket:hover {
background-position: 0px -40px;
}
a#framing-options:hover {
background-position: -175px -40px;
}
a#add-to-basket:active {
background-position: 0px -80px;
}
a#framing-options:active {
background-position: -175px -80px;
}
<!DOCTYPE html>
<html>
<head>
<title>Image Rollovers and Sprites</title>
</head>
<body>
<a class="button" id="add-to-basket">Add to Basket</a>
<a class="button" id="framing-options">Framing Options</a>
</body>
</html>
现在,在示例代码中,要选择框架选项,属性 background-image
被赋予值 -175px 0px
。
但是,我认为通过CSS中的坐标系查看图像如下所示,我认为向右走,应该是175px 0px
,然后往下走40 像素,175px 40px
。
为什么在此示例中向左和向下给出负值?
你其实就是moving/translating坐标系中的精灵图。改编自 css sprite with negative background positions not clear 的答案,要在 x=50 和 y=20 的位置显示图像,请将精灵 -50 移动到坐标系的左侧,将 -20 移动到坐标系的顶部。
-50, -20
|-----------------------------------------------|
| |
| 0,0 |
| |-- |
| | |
| |
| |
| |
|-----------------------------------------------|
我的问题是关于 background-position
属性 的负值。
我正在阅读 Jon Duckett 的 HTML 和 CSS,我有以下 sprite,其中每个按钮的高度为 40px。
我还从书中生成了一些以下代码,以在用户悬停并单击这些按钮时激活这些精灵。
a.button {
height: 36px;
background-image: url("https://image.ibb.co/jnHrwk/button_sprite.jpg");
text-indent: -9999px;
display: inline-block;
}
a#add-to-basket {
width: 174px;
background-position: 0px 0px;
}
a#framing-options {
width: 210px;
background-position: -175px 0px;
}
a#add-to-basket:hover {
background-position: 0px -40px;
}
a#framing-options:hover {
background-position: -175px -40px;
}
a#add-to-basket:active {
background-position: 0px -80px;
}
a#framing-options:active {
background-position: -175px -80px;
}
<!DOCTYPE html>
<html>
<head>
<title>Image Rollovers and Sprites</title>
</head>
<body>
<a class="button" id="add-to-basket">Add to Basket</a>
<a class="button" id="framing-options">Framing Options</a>
</body>
</html>
现在,在示例代码中,要选择框架选项,属性 background-image
被赋予值 -175px 0px
。
但是,我认为通过CSS中的坐标系查看图像如下所示,我认为向右走,应该是175px 0px
,然后往下走40 像素,175px 40px
。
为什么在此示例中向左和向下给出负值?
你其实就是moving/translating坐标系中的精灵图。改编自 css sprite with negative background positions not clear 的答案,要在 x=50 和 y=20 的位置显示图像,请将精灵 -50 移动到坐标系的左侧,将 -20 移动到坐标系的顶部。
-50, -20
|-----------------------------------------------|
| |
| 0,0 |
| |-- |
| | |
| |
| |
| |
|-----------------------------------------------|