Вы можете использовать ~
селектор для выбора всех изображений, следующих за тем, который вы наводите. И поскольку изображения позиционируются относительно, вы можете комбинировать это со left
значением:
.deck img:hover ~ img {
left: 160px;
}
Могу ли я даже предложить вам объединить это с относительно новым clip-path
свойством? К сожалению, поддержка браузера невелика .
.deck img:hover ~ img {
left: 160px;
clip-path: inset(0 160px 0 0)
}
Изменить: Существует несколько способов оживить это в зависимости от результата, который вы предпочитаете. Это может потребовать некоторого tewaking, чтобы получить результат, который вы хотите, но это должно заставить вас начать. Что здесь происходит, мы объявляем анимацию ключевого кадра slidein
. Когда изображение зависает, изображения справа анимируются с использованием animation: slidein .2s
. См. Эффект в этом JSFiddle :
@keyframes slidein {
0% {
left: 0;
clip-path: inset(0 0 0 0);
}
100% {
left: 160px;
clip-path: inset(0 160px 0 0);
}
}
.deck img:hover ~ img {
left: 160px;
clip-path: inset(0 160px 0 0);
animation: slidein .2s;
}