将鼠标悬停在带有 link 的图像上时 CSS 精灵出现问题
Issue with CSS sprite when hovering over an image with a link
我正在我的网站上工作,最初使用两张大小为 210 x 210 像素的单独图片作为图片 link(悬停时会变成另一张图片。)但是我发现那里第一次将鼠标悬停在图像上时总是有点闪烁,这显然让我很困扰,所以我决定切换到一个 CSS 精灵图,上面有两个图像。这样我就不会闪烁了。
不幸的是,我似乎无法使 CSS 精灵成功运行。我在 Wordpress BoldGrid Post 和 Page Builder 中创建我的网站,所以我没有做 HTML/CSS,但定制器允许我添加我自己的自定义 CSS,这就是我的我在做。
我在图像设置中(在 Post 和 Page Builder 中)为图像 link 指定了 CSS ID "home"。这是我在自定义 CSS:
中放入的内容
#home:hover a {
background:url(https://www.mywebsite.com/hoverimage.png);
position: absolute;
background-position: -210px 0;
}
目前,原始图像没有变形,我可以在原始图像下方看到悬停图像(它的边框较粗,我可以在下方看到它)。
我一定是漏掉了什么。因为我在 Wordpress Post 和 Page Builder 中工作,所以在线学习 CSS Sprite 教程并不那么简单。希望这是一个简单的修复。
:hover
使用不当...
通过使用 #home:hover a
,您仅在悬停元素 #home
时将背景应用到 a
...
应该是:
#home a {
background:url(https://www.mywebsite.com/hoverimage.png);
position: absolute;
}
#home:hover a {
background-position: -210px 0;
}
如下所示:
#home a img {
display: none;
}
#home a {
background:url("https://via.placeholder.com/420x210");
position: absolute;
width: 210px;
height: 210px;
display: block;
}
#home:hover a {
background-position: -210px 0;
}
<div id="home">
<a href="#">
<img src="https://via.placeholder.com/210x210?text=original%20image">
<a>
</div>
我正在我的网站上工作,最初使用两张大小为 210 x 210 像素的单独图片作为图片 link(悬停时会变成另一张图片。)但是我发现那里第一次将鼠标悬停在图像上时总是有点闪烁,这显然让我很困扰,所以我决定切换到一个 CSS 精灵图,上面有两个图像。这样我就不会闪烁了。
不幸的是,我似乎无法使 CSS 精灵成功运行。我在 Wordpress BoldGrid Post 和 Page Builder 中创建我的网站,所以我没有做 HTML/CSS,但定制器允许我添加我自己的自定义 CSS,这就是我的我在做。
我在图像设置中(在 Post 和 Page Builder 中)为图像 link 指定了 CSS ID "home"。这是我在自定义 CSS:
中放入的内容#home:hover a {
background:url(https://www.mywebsite.com/hoverimage.png);
position: absolute;
background-position: -210px 0;
}
目前,原始图像没有变形,我可以在原始图像下方看到悬停图像(它的边框较粗,我可以在下方看到它)。
我一定是漏掉了什么。因为我在 Wordpress Post 和 Page Builder 中工作,所以在线学习 CSS Sprite 教程并不那么简单。希望这是一个简单的修复。
:hover
使用不当...
通过使用 #home:hover a
,您仅在悬停元素 #home
时将背景应用到 a
...
应该是:
#home a {
background:url(https://www.mywebsite.com/hoverimage.png);
position: absolute;
}
#home:hover a {
background-position: -210px 0;
}
如下所示:
#home a img {
display: none;
}
#home a {
background:url("https://via.placeholder.com/420x210");
position: absolute;
width: 210px;
height: 210px;
display: block;
}
#home:hover a {
background-position: -210px 0;
}
<div id="home">
<a href="#">
<img src="https://via.placeholder.com/210x210?text=original%20image">
<a>
</div>