CSS: как реализовать смену нескольких изображений (больше двух)?

Что нужно сделать?

Есть 10 картинок разного цвета и 10 соответствующих названий цветов в виде текста.
Нужно чтобы при наведении на название цвета исходная картинка менялась на изображение с соответствующим цветом.
Т.е. изначально картинка черная, я навожу на текст с надписью "Красный" и она сменяется на красный.

Я пробовал это реализовать с помощью спрайтов и hover'а, но ничего толкового не получилось.

Подскажите, можно ли это реализовать с помощью только CSS? Если да, то как? Если нет, подскажите, пожалуйста, куда копать, чего курить.
  • Вопрос задан
  • 3526 просмотров
Пригласить эксперта
Ответы на вопрос 4
egor_nullptr
@egor_nullptr
hover.html:
<!doctype html>
<html>
<head>
    <title>CSS Hover</title>
    <link rel="stylesheet" href="hover.css">
</head>
<body>
    <div class="container">
        <span class="color-black">Black</span>
        <span class="color-red">Red</span>
        <span class="color-green">Green</span>
        <div class="image"></div>
    </div>
</body>
</html>

hover.css:
div.image {
    width: 100px;
    height: 75px;
}

span.color-black:hover ~ div.image {
    background-image: url(black.png);
}

span.color-red:hover ~ div.image {
    background-image: url(red.png);
}

span.color-green:hover ~ div.image {
    background-image: url(green.png);
}
Ответ написан
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
jsfiddle.net/iiil/Wm245
Все же хотел бы предложить вариант с jquery, пример достаточно гибкий, а на сегодняшний день многие проекты используют jquery.
Ответ написан
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
jsfiddle.net/iiil/Wm245/2
Пример естественно не показывает ничего, так как картинки прописаны с относительными путями. Сделайте применительно к своему случаю и если будут вопросы - пишите.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы