Javascript 背景图像在更改其背景位置时消失?

Javascript 背景图像在更改其背景位置时消失?,javascript,html,css,mouseover,Javascript,Html,Css,Mouseover,好的,我有一个链接列表,就像这样 <ul> <li>item1</li> <li>item2</li> <li>item3</li> </ul> 执行此操作时,图像显示在列表项的正上方,而不是下方。所以我试着加上 background-position: 0px 5px; repeat: no-repeat; 这就产生了一个问题。这就好像将鼠标悬停在某个项目上后出现的图像位

好的,我有一个链接列表,就像这样

<ul>
    <li>item1</li>
    <li>item2</li>
    <li>item3</li>
</ul>
执行此操作时,图像显示在列表项的正上方,而不是下方。所以我试着加上

background-position: 0px 5px;
repeat: no-repeat;
这就产生了一个问题。这就好像将鼠标悬停在某个项目上后出现的图像位于一个虚构的容器中,该容器为340x40。当我告诉它使用背景位置向下移动5px时,就好像图像向下移动,除了图像所在的容器没有向下移动。我只能看到图像,如果它在假想的容器内,假想的容器向下不移动5px,图像向下移动5px,因此图像的5px消失。我搬走了

repeat: no-repeat;

现在,当我使用CSS中的背景位置向下移动图像5px时,图像的另一个版本开始出现。现在我可以看到新图像的底部5px和旧图像的顶部335px。为什么会发生这种情况,我该如何解决

它被称为CSS精灵。为了减少在页面上加载图像所需的HTTP请求数量,所有图像都合并到一个图像中。为了在单个图像中显示图像,每个元素(例如a
li
)的宽度和高度用作视口,而确定单个图像的位置时,将其视为背景,并且只有元素中图像的宽度和高度可见


我建议您阅读,以便更好地理解这个概念。

它被称为CSS精灵。为了减少在页面上加载图像所需的HTTP请求数量,所有图像都合并到一个图像中。为了在单个图像中显示图像,每个元素(例如a
li
)的宽度和高度用作视口,而确定单个图像的位置时,将其视为背景,并且只有元素中图像的宽度和高度可见


我建议您阅读,以便更好地理解这个概念。

它被称为CSS精灵。为了减少在页面上加载图像所需的HTTP请求数量,所有图像都合并到一个图像中。为了在单个图像中显示图像,每个元素(例如a
li
)的宽度和高度用作视口,而确定单个图像的位置时,将其视为背景,并且只有元素中图像的宽度和高度可见


我建议您阅读,以便更好地理解这个概念。

它被称为CSS精灵。为了减少在页面上加载图像所需的HTTP请求数量,所有图像都合并到一个图像中。为了在单个图像中显示图像,每个元素(例如a
li
)的宽度和高度用作视口,而确定单个图像的位置时,将其视为背景,并且只有元素中图像的宽度和高度可见


我建议你阅读,以便更好地理解这个概念。

OP这是你想要的吗?你只需要添加
height
这是一个JSFIDLE的链接,告诉我这是否是你想要的。

OP这是你想要的吗?你只需要添加
height
这是一个JSFIDLE的链接告诉我这是否是你要找的。

OP这是你要找的吗?你只需要添加
height
这是一个JSFIDLE的链接,告诉我这是否是你要找的。

OP这是你要找的吗?你只需要添加
height
这是一个JSFIDLE的链接,告诉我这是不是是您正在寻找的内容。

将css添加到链接本身如何?比如:

<ul>
    <li><a href="..."></a></li>
</ul>

a:hover {
    background: url(../images/liHover.png);
    background-repeat: no-repeat;
    background-position: fixed;
}
a:悬停{ 背景:url(../images/liHover.png); 背景重复:无重复; 背景位置:固定; }
然后尝试使用固定的背景位置。。?
希望它能工作。

将css添加到链接本身如何?比如:

<ul>
    <li><a href="..."></a></li>
</ul>

a:hover {
    background: url(../images/liHover.png);
    background-repeat: no-repeat;
    background-position: fixed;
}
a:悬停{ 背景:url(../images/liHover.png); 背景重复:无重复; 背景位置:固定; }
然后尝试使用固定的背景位置。。?
希望它能工作。

将css添加到链接本身如何?比如:

<ul>
    <li><a href="..."></a></li>
</ul>

a:hover {
    background: url(../images/liHover.png);
    background-repeat: no-repeat;
    background-position: fixed;
}
a:悬停{ 背景:url(../images/liHover.png); 背景重复:无重复; 背景位置:固定; }
然后尝试使用固定的背景位置。。?
希望它能工作。

将css添加到链接本身如何?比如:

<ul>
    <li><a href="..."></a></li>
</ul>

a:hover {
    background: url(../images/liHover.png);
    background-repeat: no-repeat;
    background-position: fixed;
}
a:悬停{ 背景:url(../images/liHover.png); 背景重复:无重复; 背景位置:固定; }
然后尝试使用固定的背景位置。。?
希望它能起作用。

Hm,还是一样的问题,但增加高度确实解决了问题,@Alex W解释了为什么它能很好地解决问题。Hm,还是一样的问题,但增加高度确实解决了问题,@Alex W解释了为什么它能很好地解决问题。Hm,还是一样的问题,但增加高度确实解决了问题,@Alex W解释了为什么它能很好地解决问题。Hm,仍然是同样的问题,但增加高度确实解决了问题,@Alex W解释了为什么它能很好地解决问题。啊,这确实解决了问题,谢谢。。Alex W很好地解释了原因。啊,这确实解决了问题,谢谢。。Alex W很好地解释了原因。啊,这确实解决了问题,谢谢。。Alex W很好地解释了原因。啊,这确实解决了问题,谢谢。。Alex W很好地解释了原因。