【发布时间】:2018-02-05 00:40:04
【问题描述】:
我只使用 CSS 来使用子选择器在悬停时切换图像。每个图像都显示为包含 div 中的内联块,从而创建图像网格。
它工作得很好,除了一个奇怪的抽搐——
a.) 当鼠标悬停在包含 div 中的 first 图像上时; AND b.) 当页面滚动任意距离时,整个页面会跳回顶部。
只有将鼠标悬停在第一张图片上才会引发这种抽搐;当鼠标在任何其他图像之间移动时,无论位置如何,它都不会发生。
效果在这里可见:https://jsfiddle.net/continuist/kognrzof/9/
CSS:
/* CONTAINER DIV */
#rocks {width: auto;}
/* EACH IMAGE ELEMENT */
.foo img {width:30%;}
.foo img:first-child{display:inline-block;}
.foo img:last-child{display:none;}
.foo:hover img:first-child{display:none;}
.foo:hover img:last-child{display:inline-block;}
HTML:
<div id="rocks">
<a class="foo" href="#">
<img src="/img/item1.png">
<img src="/img/item1hover2.svg">
</a>
<a class="foo" href="#">
<img src="/img/item1.png">
<img src="/img/item1hover.svg">
</a>
<a class="foo" href="#">
<img src="/img/item3.png">
<img src="/img/item3hover.svg">
</a>
...
</div>
在照片中,这些图像中的每一个都打开 :hover。但是当页面滚动时,鼠标悬停在页面上的第一个图像(最上面,最左边)上,整个页面跳回顶部。
【问题讨论】:
-
创建一个 JsFiddle。
-
无法从您所包含的内容中分辨出来,因为没有任何明显错误。小提琴或工作站点/演示的链接会有所帮助
-
感谢 Muhammad 和 FluffyKitten。我在这里创建了一个 JsFiddle:jsfiddle.net/continuist/kognrzof/9