Как добиться плавного отображения при transform: rotateY( 180deg )?
Здравствуйте. Пробую использовать данное правило совместно с transition и псевдоэлементами, но браузеры уж очень коряво рендерят анимацию. Вот результат http://hismith.smartfreelancer.ru/
При наведении на столбец происходит вращение. Кто-нибудь решал уже такую проблему, и если да, то как? Код: Код:
.jaluzi { |
Предлагаю посмотреть такой вариант:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
body {
margin: 0;
background: #B3E5D4;
}
div#d1 {position:absolute;
top:10px;
left:10px;
}
div#d2 {position:absolute;
top:10px;
left:110px;
}
div#d3 {position:absolute;
top:10px;
left:210px;
}
div {
width: 100px;
height: 200px;
}
img {
position: absolute;
width:100%; }
div:hover .front {
transform: rotateY(180deg);
transition: all 1s ease;
}
div:hover .back {
transform: rotateY(180deg);
transition: all 1s ease;
}
.front {
z-index: 2;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.back {
z-index: 0;
-webkit-backface-visibility: visible;
backface-visibility: visible;
}
</style>
</head>
<body>
<div id="d1">
<img src="http://javascript.ru/cat/list/js.gif" class="front">
<img src="http://javascript.ru/cat/list/donkey.gif" class="back">
</div>
<div id="d2">
<img src="http://javascript.ru/cat/list/js.gif" class="front">
<img src="http://javascript.ru/cat/list/donkey.gif" class="back">
</div>
<div id="d3">
<img src="http://javascript.ru/cat/list/js.gif" class="front">
<img src="http://javascript.ru/cat/list/donkey.gif" class="back">
</div>
</body>
</html>
Жалко, что hover есть, а hout нет:( Попробую еще покрутить с mouseout |
Вариант с mouseover mouseout
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
body {
margin: 0;
background: #B3E5D4;
}
div#d1 {position:absolute;
top:10px;
left:10px;
}
div#d2 {position:absolute;
top:10px;
left:110px;
}
div#d3 {position:absolute;
top:10px;
left:210px;
}
div.item {
width: 100px;
height: 100px;
-webkit-transition: all 2s ease;
transition: all 2s ease;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
div.front {
position: absolute;
width:100%;
display:block;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
div.back {
position: absolute;
width:100%;
display:block;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
img
{ width:100%;
}
.rot {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.front {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function () {
$('.container').on('mouseover', function () {
$(this).find('.item').toggleClass('rot');
});
$('.container').on('mouseout', function () {
$(this).find('.item').toggleClass('rot');
});
}
</script>
</head>
<body>
<div class='container'>
<div id="d1" class='item'>
<div class="back"><img src="http://javascript.ru/cat/list/js.gif"></div>
<div class="front"><img src="http://javascript.ru/cat/list/donkey.gif"></div>
</div>
</div>
<div class='container'>
<div id="d2" class='item'>
<div class="back"><img src="http://javascript.ru/cat/list/js.gif"></div>
<div class="front"><img src="http://javascript.ru/cat/list/donkey.gif"></div>
</div>
</div>
<div class='container'>
<div id="d3" class='item'>
<div class="back"><img src="http://javascript.ru/cat/list/js.gif"></div>
<div class="front"><img src="http://javascript.ru/cat/list/donkey.gif"></div>
</div>
</div>
</body>
</html>
|
Dilettante_Pro,
Спасибо. Я в принципе сам примерно так и сделал. |
| Часовой пояс GMT +3, время: 07:36. |