所以我玩弄CSS3和HTML5 on my page試圖保持最新。我正在玩新的CSS轉換的rotateY設置,我想知道是否有辦法翻轉某些東西,它有兩個不同的方面,但只使用CSS和HTML。我搜索了互聯網,沒有找到任何教程。純粹的CSS3 rotateY雙面翻轉
無論如何,我想出了這個。 (也可以在頁面底部附近的鏈接中找到)
當然,要看到這種效果,必須在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);
}
是的,我知道這可能是這樣一個簡單的動作太多的標記,但我想看看是否有可能。
所以我的問題是,我編造了這種技術,但有沒有更好,更有效的一個,我沒有找到?或者,有沒有更好/更有效的方式來做我所做的事情?
謝謝
哇,令人印象深刻!這可能會有一些jQuery解決方案,但我可以說這樣做非常好! – Kyle 2010-10-05 08:26:03
好,謝謝。我看到很多jQuery選項,但我確信有一種方法可以不用。 – 2010-10-06 00:01:10