Так что я поигрался с CSS3 и HTML5 на своей странице , пытаясь идти в ногу со временем. Я играл с настройкой rotateY нового CSS-преобразования, и мне было интересно, есть ли способ перевернуть что-то, что у него есть две разные стороны, но с использованием только CSS и HTML. Я искал в Интернете и не нашел учебников.
Во всяком случае, я придумал это. (Также можно найти по ссылке выше, внизу страницы.)
Конечно, чтобы увидеть этот эффект, его необходимо просмотреть в браузере Webkit.
HTML
<div class="flip">
<div>
<img src="images/yyc.jpg" alt="Calgary International Airport"/>
<section>
<h3>Image Metadata</h3>
<p><strong>Where:</strong> Calgary International Airport</p>
<p><strong>When:</strong> July 25, 2008</p>
<p><strong>Camera:</strong> Canon EOS 30D</p>
<p><strong>Photographer:</strong> <a href="http://photo.net/photos/Vian" title="Photo.net">Vian Esterhuizen</a></p>
</section>
</div>
</div>
CSS
.flip{
float:left;
position:relative;
width:421px;
height:237px;
background:#111;
border:2px solid #111;
margin:2px 0;
-webkit-transition-property: -webkit-transform, background;
-webkit-transition-duration: 1s, 0;
-webkit-transition-delay: 0, 0.3s;
overflow:hidden;
}
.flip:hover{
-webkit-transform: rotateY(180deg);
}
.flip > div{
position:absolute;
left:0;
top:0;
width:842px;
height:237px;
overflow:hidden;
-webkit-transition-property: left;
-webkit-transition-duration: 0;
-webkit-transition-delay: 0.3s;
}
.flip > div img{
float:left;
width:421px;
height:237px;
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 0;
-webkit-transition-delay: 0.3s;
}
.flip > div > section{
float:left;
width:401px;
height:217px;
padding:10px;
background:top right url('../images/esterhuizen-photography.gif') no-repeat;
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 0;
-webkit-transition-delay: 0.3s;
}
.flip:hover > div{
left:-421px;
}
.flip:hover > div img, .flip:hover > div > section{
-webkit-transform: rotateY(180deg);
}
Да, я понимаю, что, вероятно, слишком много разметки для такого простого действия, но я хотел посмотреть, возможно ли это.
Итак, мой вопрос: я создал эту технику, но есть ли лучший, более эффективный, который я не нашел? Или есть лучший / более эффективный способ сделать то, что я сделал?
Спасибо