У меня есть два изображения друг на друга, я использую преобразования CSS, чтобы сначала поворачивать верхнее и нижнее изображение, а затем поворачивать нижнее изображение обратно, создавая эффект переворота. Однако я не могу заставить его работать безупречно, когда мгновенное отображение состояния анимации изменяется на другое изображение.Перевернутое преобразование изображения css
JS
$('.portfolio-pic-1').hover(function(){
$(this).toggleClass('portfolio-pic-1-hover');
$('.portfolio-pic-1-2').toggleClass('portfolio-pic-1-2-hover');
},
function()
{
$(this).toggleClass('portfolio-pic-1-unhover');
$('.portfolio-pic-1-2').toggleClass('portfolio-pic-1-2-unhover');
});
CSS
.portfolio-pic-1-hover {
-webkit-animation: rotate-away 1s 1 ease-in forwards;
/* Safari 4+ */
-moz-animation: rotate-away 1s 1 ease-in forwards;
/* Fx 5+ */
-o-animation: rotate-away 1s 1 ease-in forwards;
/* Opera 12+ */
animation: rotate-away 1s 1 ease-in forwards;
/* IE 10+, Fx 29+ */
}
.portfolio-pic-1-2-hover {
-webkit-animation: rotate-in 2s 1 ease-out forwards;
/* Safari 4+ */
-moz-animation: rotate-in 2s 1 ease-out forwards;
/* Fx 5+ */
-o-animation: rotate-in 2s 1 ease-out forwards;
/* Opera 12+ */
animation: rotate-in 2s 1 ease-out forwards;
/* IE 10+, Fx 29+ */
}
.portfolio-pic-1-unhover {
-webkit-animation: rotate-in 2s 1 ease-out forwards;
/* Safari 4+ */
-moz-animation: rotate-in 2s 1 ease-out forwards;
/* Fx 5+ */
-o-animation: rotate-in 2s 1 ease-out forwards;
/* Opera 12+ */
animation: rotate-in 2s 1 ease-out forwards;
/* IE 10+, Fx 29+ */
}
.portfolio-pic-1-2-unhover {
-webkit-animation: rotate-away 1s 1 ease-in forwards;
/* Safari 4+ */
-moz-animation: rotate-away 1s 1 ease-in forwards;
/* Fx 5+ */
-o-animation: rotate-away 1s 1 ease-in forwards;
/* Opera 12+ */
animation: rotate-away 1s 1 ease-in forwards;
/* IE 10+, Fx 29+ */
}
/* Chrome, Safari, Opera */
@-webkit-keyframes rotate-away {
0% {
-webkit-transform:rotateY(0deg);
-moz-transform:rotateY(0deg);
-ms-transform:rotateY(0deg);
-o-transform:rotateY(0deg);
transform:rotateY(0deg);
}
100% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
}
/* Standard syntax */
@keyframes rotate-away {
0% {
}
100% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
}
@keyframes rotate-in {
0% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
50% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
100% {
-webkit-transform:rotateY(0deg);
-moz-transform:rotateY(0deg);
-ms-transform:rotateY(0deg);
-o-transform:rotateY(0deg);
transform:rotateY(0deg);
}
}
/* Chrome, Safari, Opera */
@-webkit-keyframes rotate-in {
0% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
50% {
-webkit-transform:rotateY(90deg);
-moz-transform:rotateY(90deg);
-ms-transform:rotateY(90deg);
-o-transform:rotateY(90deg);
transform:rotateY(90deg);
}
100% {
-webkit-transform:rotateY(0deg);
-moz-transform:rotateY(0deg);
-ms-transform:rotateY(0deg);
-o-transform:rotateY(0deg);
transform:rotateY(0deg);
}
}
.img-container {
position: relative;
height: 507px;
padding-bottom: 25px;
}
.img-container img {
position: absolute;
left: 25%;
overflow: hidden;
}
Может кто-нибудь помочь?
спасибо, это совершенно. – Zackline