CSS3打造百度貼吧的3D翻牌效果示例
今天給大家?guī)硪粋€(gè)CSS3制作的翻牌效果,就是鼠標(biāo)移到元素上,感覺可以看到元素背后的信息。大家如果制作考驗(yàn)記憶力的連連看、撲克類的游戲神馬的,甚至給女朋友寫一些話語,放在使用該實(shí)例制作的相冊(cè)之后都可以嘗試下,哈~
效果圖:

實(shí)例用到的一些CSS3的新屬性:
a、-webkit-perspective: 800px;
perspective (透視,視角):屬性定義 3D 元素距視圖的距離,以像素計(jì)。該屬性允許您改變 3D 元素查看 3D 元素的視圖。決定了你所看到的是2D transform 還是3D transform 。
b、-webkit-transform-style: preserve-3d;
transform-style 屬性規(guī)定如何在 3D 空間中呈現(xiàn)被嵌套的元素。默認(rèn)flat(平的),我們3D效果,然后選擇3D。
c、-webkit-backface-visibility: hidden; 是否顯示該選擇元素旋轉(zhuǎn)到背面后的樣子。
d、-webkit-transform: rotateY(0); 元素繞Y軸旋轉(zhuǎn)。
上面的屬性先給大家一個(gè)感性的認(rèn)識(shí),看完例子再細(xì)細(xì)品味這些屬性,或者baidu,google神馬的。
例子:
Html:
<body>
<div id="content">
<ul>
<li>
<a href="#" target="_blank">
<div><img alt="" src="images/1.jpg"/></div>
<div>
<h3>漩渦鳴人</h3>
<p>日本漫畫家岸本齊史作品《火影忍者》中男主角。因?yàn)樯砩戏庥≈皭旱木盼惭?,無父無母的他受盡了村人的冷眼與歧視,他下定決心要成為第六代火影,讓所有人都認(rèn)同他的存在。</p>
</div>
</a>
</li>
<li>
<a href="#" target="_blank">
<div>
<img alt="" src="images/2.jpg"/>
</div>
<div>
<h3>日向雛田</h3>
<p>
日本漫畫家岸本齊史作品《火影忍者》中的3號(hào)女主角。木葉忍者村的女忍者,木葉名門日向一族宗家族長的長女。喜歡漩渦鳴人,原本是個(gè)性格柔弱的女孩,但是在鳴人的影響下逐漸變得堅(jiān)強(qiáng),并逐漸成長為一名優(yōu)秀的忍者。</p>
</div>
</a>
</li>
<li>
<a href="#" target="_blank">
<div><img alt="" src="images/3.jpg"/></div>
<div>
<h3>蒙奇·D·路飛</h3>
<p>蒙奇·D·路飛 是日本人氣動(dòng)漫 《海賊王》中的主人公。是日本人氣動(dòng)漫 《海賊王》中的主人公。草帽海賊團(tuán)船長,夢(mèng)想是找到傳說中的寶藏 —— ONE PIECE,成為海賊王。</p>
</div>
</a>
</li>
<li>
<a href="#" target="_blank">
<div>
<img alt="" src="images/4.jpg"/>
</div>
<div>
<h3>盒子先生</h3>
<p>
Danbo是一只用廢紙盒DIY出來的可愛玩偶,圓圓的眼睛和三角形的嘴巴,時(shí)刻露出無辜的表情,讓人看到就心軟,Danbo是個(gè)純真善良的小家伙,在它單純的幻想世界里,總是透露出最純真可愛的動(dòng)人氣息。</p>
</div>
</a>
</li>
</ul>
</div>
</body>
還是相當(dāng)簡單的:
ul為一組圖片,每個(gè)li中有個(gè)a(因?yàn)槲覀兿Mc(diǎn)擊圖片可以跳轉(zhuǎn)),a中包含兩個(gè)div,一個(gè)是正常顯示時(shí)的(即顯示圖片),一個(gè)是圖片旋轉(zhuǎn)后顯示的(即介紹)。
CSS:
<link href="css/reset.css" rel="stylesheet" type="text/css">
<style type="text/css">
body
{
font-size: 14px;
font-family: Microsoft YaHei, Tahoma, Geneva, sans-serif;
background: #111;
}
#content ul
{
width: 960px;
margin: 150px auto;
padding: 60px 0;
}
#content ul li
{
margin-right: 20px;
width: 225px;
height: 180px;
float: left;
}
#content ul li:last-child
{
margin-right: 0;
}
#content ul li a
{
position: relative;
display: block;
width: 100%;
height: 100%;
/*舞臺(tái)(動(dòng)畫元素的父容器)perspective*/
-webkit-perspective: 800px;
-moz-perspective: 800px;
}
#content ul li a > div
{
position: absolute;
left: 0;
height: 0;
width: 100%;
height: 100%;
color: #fff;
/*動(dòng)畫元素transform-style*/
-webkit-transform-style: preserve-3d;
-webkit-transition: .8s ease-in-out ;
/*動(dòng)畫元素背后設(shè)置為hidden*/
-webkit-backface-visibility: hidden;
}
#content ul li a div:first-child
{
/*
繞y軸旋轉(zhuǎn)
*/
-webkit-transform: rotateY(0);
z-index: 2;
}
#content ul li a div:last-child
{
background: url("images/bg.jpg") no-repeat 0 0;
-webkit-transform: rotateY(180deg);
z-index: 1;
}
#content ul li a:hover div:first-child
{
-webkit-transform: rotateY(-180deg);
}
#content ul li a:hover div:last-child
{
-webkit-transform: rotateY(0);
}
#content ul li a div h3
{
margin: 0 auto 15px;
padding: 15px 0;
width: 200px;
height: 16px;
line-height: 16px;
font-size: 14px;
text-align: center;
border-bottom: 1px #fff dashed;
}
#content ul li a div p
{
padding: 0 10px;
font-size: 12px;
text-indent: 2em;
line-height: 18px;
}
</style>
好了,上面的CSS中就可以發(fā)現(xiàn)文章前面說的那些CSS屬性了。
1、最主要的是理解rotateY ,繞y軸旋轉(zhuǎn),rotateY字面上看繞y軸旋轉(zhuǎn),肯定有人問y軸在哪:

默認(rèn)旋轉(zhuǎn)元素的中心點(diǎn)就是旋轉(zhuǎn)中心(可以通過transform-origin修改),x,y軸都在圖上,z軸是從中心往外發(fā)的箭頭(就是屏幕射向你頭的箭頭)。
我們例子中,默認(rèn)圖片rotateY=0;鼠標(biāo)指向?yàn)閞otateY=-180,負(fù)數(shù),也就是逆時(shí)針繞y軸旋轉(zhuǎn),正數(shù),則為順時(shí)針;其他兩個(gè)軸同理;
我們例子的核心就是鼠標(biāo)指向時(shí):圖片(div:first-child),從0度繞y軸逆時(shí)針旋轉(zhuǎn)180度到達(dá)-180度;介紹(div:last-child)從180度繞y軸逆時(shí)針旋轉(zhuǎn)180度到達(dá)0度。造成兩個(gè)一起逆時(shí)針旋轉(zhuǎn)的效果。有人可能會(huì)問為啥介紹默認(rèn)不是0度,這里注意下,介紹逆時(shí)針旋轉(zhuǎn)180度之后是正面狀態(tài),所以當(dāng)倍圖片遮蓋時(shí),相當(dāng)于從正常狀態(tài)順時(shí)針旋轉(zhuǎn)了180度,因?yàn)槭髽?biāo)指向時(shí)需要恢復(fù)正常狀態(tài)。
perspective,有個(gè)技巧,對(duì)于舞臺(tái)(動(dòng)畫的父元素)設(shè)置。
transform-style對(duì)3d變化當(dāng)然是3d了,沒啥好說的。
關(guān)于CSS3的3d效果相關(guān)的屬性,還有很多,有機(jī)會(huì)以后的例子會(huì)刻意使用沒有用過的~
歡迎大家指教~對(duì)了,該例子需要在chrome下運(yùn)行,firefox貌似支持不是很好,自動(dòng)用了chrome,firebug也很少用了~嘿嘿~
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
這是一款實(shí)現(xiàn)js 3D旋轉(zhuǎn)木馬特效插件。該插件通過CSS3和純js來完成,可中間以3D旋轉(zhuǎn)的方式來展示一組圖片,歡迎下載2019-08-16
css3實(shí)現(xiàn)橢圓軌跡旋轉(zhuǎn)的示例代碼
這篇文章主要介紹了css3實(shí)現(xiàn)橢圓軌跡旋轉(zhuǎn)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-29微信小程序?qū)崿F(xiàn)可實(shí)時(shí)改變轉(zhuǎn)速的css3旋轉(zhuǎn)動(dòng)畫實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于微信小程序如何實(shí)現(xiàn)可實(shí)時(shí)改變轉(zhuǎn)速的css3旋轉(zhuǎn)動(dòng)畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2018-09-11- 大家應(yīng)該都玩過刮刮樂,如何實(shí)現(xiàn)刮刮樂效果,這篇文章主要為大家詳細(xì)介紹了CSS3實(shí)現(xiàn)簡易版的刮刮樂效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-27
- 本文給大家分享的是一則使用原生CSS3實(shí)現(xiàn)的圖片翻牌效果,十分的炫酷,代碼卻很簡單,這里推薦給有相同需求的小伙伴們。2015-03-10
css實(shí)現(xiàn)旋轉(zhuǎn)翻牌動(dòng)畫效果
本文通過實(shí)例代碼給大家介紹了css實(shí)現(xiàn)旋轉(zhuǎn)翻牌動(dòng)畫效果,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-10-09



