视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
百度贴吧的3D翻牌效果
2020-11-27 18:48:55 责编:小采
文档
这次给大家带来百度贴吧的3D翻牌效果,实现百度贴吧3D翻牌效果的注意事项有哪些,下面就是实战案例,一起来看一下。

今天给大家带来一个CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息。大家如果制作考验记忆力的连连看、扑克类的游戏神马的,甚至给女朋友写一些话语,放在使用该实例制作的相册之后都可以尝试下,哈~

效果图:

实例用到的一些CSS3的新属性:

a、-webkit-perspective: 800px;

perspective (透视,视角):属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。决定了你所看到的是2D transform 还是3D transform 。

b、-webkit-transform-style: preserve-3d;

transform-style 属性规定如何在 3D 空间中呈现被嵌套的元素。默认flat(平的),我们3D效果,然后选择3D。

c、-webkit-backface-visibility: hidden; 是否显示该选择元素旋转到背面后的样子。

d、-webkit-transform: rotateY(0); 元素绕Y轴旋转。

上面的属性先给大家一个感性的认识,看完例子再细细品味这些属性,或者baidu,google神马的。

例子:

Html:

<body> 
<p id="content"> 
 <ul> 
 <li> 
 <a href="#" target="_blank"> 
 <p><img alt="" src="images/1.jpg"/></p> 
 <p> 
 <h3>漩涡鸣人</h3> 
 
 <p>日本漫画家岸本齐史作品《火影忍者》中男主角。因为身上封印着的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在。</p> 
 </p> 
 </a> 
 </li> 
 <li> 
 <a href="#" target="_blank"> 
 <p> 
 <img alt="" src="images/2.jpg"/> 
 </p> 
 <p> 
 <h3>日向雏田</h3> 
 
 <p> 
 日本漫画家岸本齐史作品《火影忍者》中的3号女主角。木叶忍者村的女忍者,木叶名门日向一族宗家族长的长女。喜欢漩涡鸣人,原本是个性格柔弱的女孩,但是在鸣人的影响下逐渐变得坚强,并逐渐成长为一名优秀的忍者。</p> 
 </p> 
 </a> 
 </li> 
 <li> 
 <a href="#" target="_blank"> 
 <p><img alt="" src="images/3.jpg"/></p> 
 <p> 
 <h3>蒙奇·D·路飞</h3> 
 
 <p>蒙奇·D·路飞 是日本人气动漫 《海贼王》中的主人公。是日本人气动漫 《海贼王》中的主人公。草帽海贼团船长,梦想是找到传说中的宝藏 —— ONE PIECE,成为海贼王。</p> 
 </p> 
 </a> 
 </li> 
 <li> 
 <a href="#" target="_blank"> 
 <p> 
 <img alt="" src="images/4.jpg"/> 
 </p> 
 <p> 
 <h3>盒子先生</h3> 
 
 <p> 
 Danbo是一只用废纸盒DIY出来的可爱玩偶,圆圆的眼睛和三角形的嘴巴,时刻露出无辜的表情,让人看到就心软,Danbo是个纯真善良的小家伙,在它单纯的幻想世界里,总是透露出最纯真可爱的动人气息。</p> 
 </p> 
 </a> 
 </li> 
 </ul> 
</p> 
 
 
</body>

还是相当简单的:

ul为一组图片,每个li中有个a(因为我们希望点击图片可以跳转),a中包含两个p,一个是正常显示时的(即显示图片),一个是图片旋转后显示的(即介绍)。

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%; 
 /*舞台(动画元素的父容器)perspective*/ 
 -webkit-perspective: 800px; 
 -moz-perspective: 800px; 
 
 } 
 
 #content ul li a > p 
 { 
 position: absolute; 
 left: 0; 
 height: 0; 
 width: 100%; 
 height: 100%; 
 color: #fff; 
 /*动画元素transform-style*/ 
 -webkit-transform-style: preserve-3d; 
 -webkit-transition: .8s ease-in-out ; 
 /*动画元素背后设置为hidden*/ 
 -webkit-backface-visibility: hidden; 
 } 
 
 #content ul li a p:first-child 
 { 
 /* 
 绕y轴旋转 
 */ 
 -webkit-transform: rotateY(0); 
 z-index: 2; 
 } 
 
 #content ul li a p:last-child 
 { 
 background: url("images/bg.jpg") no-repeat 0 0; 
 -webkit-transform: rotateY(180deg); 
 z-index: 1; 
 } 
 
 #content ul li a:hover p:first-child 
 { 
 -webkit-transform: rotateY(-180deg); 
 } 
 
 #content ul li a:hover p:last-child 
 { 
 -webkit-transform: rotateY(0); 
 } 
 
 #content ul li a p 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 p p 
 { 
 padding: 0 10px; 
 font-size: 12px; 
 text-indent: 2em; 
 line-height: 18px; 
 } 
 
 
 </style>

好了,上面的CSS中就可以发现文章前面说的那些CSS属性了。

1、最主要的是理解rotateY ,绕y轴旋转,rotateY字面上看绕y轴旋转,肯定有人问y轴在哪:

默认旋转元素的中心点就是旋转中心(可以通过transform-origin修改),x,y轴都在图上,z轴是从中心往外发的箭头(就是屏幕射向你头的箭头)。

我们例子中,默认图片rotateY=0;鼠标指向为rotateY=-180,负数,也就是逆时针绕y轴旋转,正数,则为顺时针;其他两个轴同理;

我们例子的核心就是鼠标指向时:图片(p:first-child),从0度绕y轴逆时针旋转180度到达-180度;介绍(p:last-child)从180度绕y轴逆时针旋转180度到达0度。造成两个一起逆时针旋转的效果。有人可能会问为啥介绍默认不是0度,这里注意下,介绍逆时针旋转180度之后是正面状态,所以当倍图片遮盖时,相当于从正常状态顺时针旋转了180度,因为鼠标指向时需要恢复正常状态。

perspective,有个技巧,对于舞台(动画的父元素)设置。

transform-style对3d变化当然是3d了,没啥好说的。

关于CSS3的3d效果相关的属性,还有很多,有机会以后的例子会刻意使用没有用过的~

源码点击下载。

欢迎大家指教~对了,该例子需要在chrome下运行,firefox貌似支持不是很好,自动用了chrome,firebug也很少用了~嘿嘿~

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

css3多类选择器使用详解

CSS的background-attachment使用详解

CSS3实现点击放大的动画实例

下载本文
显示全文
专题