Здесь вы узнаете, как заставить изображение переворачиваться (эффект зеркального отражения) при помощи CSS.
Чтобы увидеть эффект, наведите курсор мыши на изображение:
Как сделать переворачивающееся изображение
Пример
<style>
img:hover {
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}
</style>
<img src="//msiter.ru/paris.jpg" alt="Paris">
Попробовать самому »Примечание: Этот пример не работает на планшетах и смартфонах.
3D переворачивающееся изображение с текстом
Здесь вы узнаете, как сделать анимированное 3D переворачивающееся изображение с текстом:
Париж
Какой красивый город!
Шаг 1) Добавляем HTML:
Пример
<div class="flip-box">
<div class="flip-box-inner">
<div class="flip-box-front">
<img src="//msiter.ru/img_paris.jpg" alt="Paris" style="width:300px;height:200px">
</div>
<div class="flip-box-back">
<h2>Париж</h2>
<p>Какой красивый город!</p>
</div>
</div>
</div>
Шаг 2) Добавляем CSS:
Пример
/* Контейнер-перевертыш — ширина и высота могут быть любыми.
Мы добавили рамку, чтобы показать, что сам переворот доступен
при наведении уже из коробки (удалите perspective, если не нужен 3D эффект */
.flip-box {
background-color: transparent;
width: 300px;
height: 200px;
border: 1px solid #f1f1f1;
perspective: 1000px; /* Удалите, если не нужен 3D эффект */
}
/* Этот контейнер нужен для позиционирования передней и задней стороны */
.flip-box-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.8s;
transform-style: preserve-3d;
}
/* Переворачиваем по горизонтали при наведении мыши на контейнер-перевертыш */
.flip-box:hover .flip-box-inner {
transform: rotateY(180deg);
}
/* Позиционирование передней и задней стороны */
.flip-box-front, .flip-box-back {
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden; /* Safari */
backface-visibility: hidden;
}
/* Стиль передней стороны (на случай, если изображения не будет) */
.flip-box-front {
background-color: #bbb;
color: black;
}
/* Стиль задней стороны */
.flip-box-back {
background-color: dodgerblue;
color: white;
transform: rotateY(180deg);
}
Попробовать самому »