搜索
首页web前端css教程实例详解css3特效之3D翻牌效果

这篇文章主要介绍了css3特效之3D翻牌效果,有一定 的参考价值,感兴趣的小伙伴可以参考一下,希望对你有所帮助!

最近一直在学css3,发现他真的是越来越牛逼。现在的css3已经不在是以前的css了,它能做出的功能效果是我们没法想象的了。它可以实现flash,可以制作一些js能做出来的效果,还可以写出ps做出来的一些渐变啊圆角啊阴影啊什么的效果,如此之炫的它,我相信已经有很多人对它做了更深的研究了吧,哈哈,今天我也在小小的研究了下它,主要是关于它的一些3d效果,对于3d本人一直都不是不清不楚的,今天有时间就刚好好好学习下。

所谓的3d翻牌效果,其实就是两张图片,一张在前,一张在后,当前面的那张发生旋转后,转到一定角度时后面的图片就会跟着它的步伐一起旋转,只是一个旋转到看不见,而一个刚要转的我们看的见。是不是很心急,那就快来跟我一起学习吧,哈哈~@@@

首先,我们在html中有这样一个布局:

<p class="outer">
    <p class="p1"></p>
    <p class="p2"></p>
</p>

不要小看外面那个p,它可是本次内容不可少的呢,没了它,后面的效果就没法实现了呢!局布好了,接下来就要开始搞样式了。最先要搞的肯定是外面的哈,给它一个width,height,大少各位大神自己定吧,小妹我这就先给它定个200*200吧。外面的搞定了,里面的也要开始了,这里都是给200*200。此时在浏览器中一看发现p1和p2是上下显示的,一个上一个下,这就对了,要知道p是块元素,它要占据一整行的呢,但这对我们之前说的前后肯定是有矛盾的,不要急,给它一个绝对定位position: absolute;这样两个p的中心就重合啦。为了区别两个p,这里我们要分别给它们不一样的背景色。前期准备工作都差不搞定了,接下来我们来看看怎么样实现效果吧!

我们是要实现翻牌效果,一听就知道肯定是要有旋转的,这就要用到css3里的新属性transform:rotateY(?deg);有人有可能会问为什么是rotateY呢,这你就不知道了吧,翻牌,当然是沿着Y轴转啊,哈哈!所以当鼠标移到p上时我们就要让它实现旋转效果,那么此时外层p的用处就来啦,不管用哪个小p都无法让它们同时发生旋转,除非我们的鼠标是点在外面那个p上,于是就有这个代码了,

.outer:hover .p1{
            transform:rotateY(-180deg);
        }
        .outer:hover .p2{
            transform:rotateY(0deg);
        }

旋转是有了,可是没有任何过渡效果的旋转看起来是很难看的,所以在这里,我们要给它们一个过渡效果,就要用到css3里的新属性transition:all 2s;此处的all是它所有的效果都过渡。讲到这里我们其实一直都没处理一件事,那就是怎么让当前面的旋转到后面,后面的紧跟其后出现, 这就是backface-visibility:hidden;一个在图片变换里很重要的一个属性,它的意思是当图片转到显示屏看不见的地方就消失了。就是说本来是正面的, 我们能看么到,但是当它沿着Y轴转180度后我们就不能看到它了,如果不加这个属性我们是能看到旋转后的反图片的,加了它就看不到了。所以我们要把这个属性加到两个小p上。而且为了实现此效果,我们在开始的时候还得让两个小p一个没有旋转,我们能看到,另一个也就是在背后的那个放转180度,这样当第一个p 开始旋转后我们就不会立即看到第二个p,而是等它旋转到看不到的地方,第二个p 才会出现。具体代码如下所示:

<html><head>
    <title>3D翻牌效果 </title>
    <meta charset="UTF-8">
    <script type="text/javascript" src="jquery.js"></script>
    <style type="text/css">
        .outer{
           width: 510px;
            height: 340px;
            border: 1px red solid;
            margin: 0 auto;
        }
        .outer p{
           width:510px;
            height: 340px;
            position: absolute;
              transform-style: preserve-3d;
             backface-visibility:hidden;
            transition:all 2s;
        }
        .p1{
           background: url("images/1.jpg");
            transform:rotateY(0);
        }
        .p2{
            background: url("images/2.jpg") no-repeat;
            transform:rotateY(-180deg);
        }
        .outer:hover .p1{
            transform:rotateY(-180deg);
        }
        .outer:hover .p2{
           transform:rotateY(0deg);
        }
    </style></head><body><p class="outer">
    <p class="p1"></p>
    <p class="p2"></p></p></body></html>

以上就是这篇文章的主要内容,希望能够帮助到大家。

【相关教程推荐】

1. CSS视频教程
2. CSS在线手册
3. bootstrap教程

声明
本文转载于:博客园。如有侵权,请联系admin@php.cn删除
Flexbox vs Grid:我应该学习两者吗?Flexbox vs Grid:我应该学习两者吗?May 10, 2025 am 12:01 AM

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

轨道力学(或我如何优化CSS KeyFrames动画)轨道力学(或我如何优化CSS KeyFrames动画)May 09, 2025 am 09:57 AM

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSS动画:很难创建它们吗?CSS动画:很难创建它们吗?May 09, 2025 am 12:03 AM

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@KeyFrames CSS:最常用的技巧@KeyFrames CSS:最常用的技巧May 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSS计数器:自动编号的综合指南CSS计数器:自动编号的综合指南May 07, 2025 pm 03:45 PM

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用卷轴驱动动画的现代滚动阴影使用卷轴驱动动画的现代滚动阴影May 07, 2025 am 10:34 AM

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

重新访问图像图重新访问图像图May 07, 2025 am 09:40 AM

让我们快速进修。图像地图一直返回到HTML 3.2,首先是服务器端地图,然后使用映射和区域元素通过图像上的单击区域定义了可单击区域。

DEV状态:每个开发人员的调查DEV状态:每个开发人员的调查May 07, 2025 am 09:30 AM

开发委员会调查现已开始参与,并且与以前的调查不同,它涵盖了除法:职业,工作场所,以及健康,爱好等。 

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用