Изображение мерцает, потому что вы не можете навести курсор на то, чего там нет.
Он будет работать, если у вас есть обычный слой (не требуется z-index), и вы сделаете его прозрачным, чтобы он все еще отображался и его можно было навести на экран.
Второе изображение не будет мерцать, и вы можете управлять стилем с помощью тега span. Вот некоторые из CSS, которые я использовал:
img.side
{position:absolute;
border:1px solid black;
padding:5px 5px 5px 5px;
float:center;}
/*normal base images*/
img:hover+span
{display:block;}
/*new images. automatically display beneath base/hover image*/
.side:hover
{opacity:0;}
/*base images again, only when hovered over*/
span
{display:none;
cursor:pointer;}
Тег hover определяет стиль базового img (и базового div), а hover + span определяет стиль img, который появляется только при наведении курсора.
Вот HTML, показывающий div полностью:
<div class="only" id="one">
<img class="side" id="ach" src="ach.svg">Academic</a>
<span>
<img class="hovering" id="hach" src="Hach.svg">Academic</a>
</span>
</div>
Надеюсь, это поможет.