Avocod
@Avocod

Как сделать смену изображения при ховере на ссылку?

Ребят подскажите пожалуйста, как сделать смену изображения в блоке при наведении на сылку, при наведения на каждый элемент менялась картинка?5ccff3eb2927d622241606.png

HTML
<ul class="menu">
		<li class="menu-img"></li>
		<li>
			<a href="#">Первый Элемент</a>
		</li>
		<li>
			<a href="#">Второй Элемент</a>
		</li>
		<li>
			<a href="#">Третий Элемент</a>
		</li>
	</ul>


CSS
.menu {
	width: 200px;
	border: 1px solid #000;
	padding: 0;
	margin: 0;
}

li {
	display: block;
}

.menu-img {
	width: 200px;
	height: 200px;
	background: url(../img/1.jpg)no-repeat center center/cover;
}

li a {
	margin-top: 20px;
	display: block;
	color: #000;
	text-decoration: none;
}

li a:hover .menu-img {
		background: url(../img/2.jpg)no-repeat center center/cover;
}


Пробовал даже просто ховер на ссылку сделать но картинка не меняется.
  • Вопрос задан
  • 521 просмотр
Решения вопроса 3
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
На чистом CSS, без JS https://jsfiddle.net/b31Lr7fk/
Вместо цветов поставьте свои картинки.
Ответ написан
Kozack
@Kozack Куратор тега CSS
Thinking about a11y
Почитайте больше про иерархию селекторов.
Вот это
li a:hover .menu-img
Интерпритируется как
<li>
  …
    <a :hover>
      …
        <element class="menu-img">

Потому ваши стили не применяются так как вы хотите.

Что касается самой задачи. При такой верстке я не знаю способа сделать то, что вы хотите без использования JavaScript
Ответ написан
@MamaLuyba
через css никак (при такой структуре). через скрипты - легко.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы