使用纯 CSS 创建炫酷的翻转动画效果

CSS3 动画是很有趣的,通过简单少量的代码,就能实现以前我们用 JavaScript 代码编写的效果,而且浏览器对于 CSS 的支持远远优于 JavaScript 的,这使得我们的 CSS 动画将更加的流程。这篇文章就给大家介绍如何使用 CSS 创建炫酷的翻转动画效果。

使用纯 CSS 创建炫酷的翻转动画效果

HTML 结构

所需要的 HTML 代码:

<div class="flip-container">

<div class="flipper">

<div class="front">

<!-- front content -->

</div>

<div class="back">

<!-- back content -->

</div>

</div>

</div>

这个翻转动画需要有两个面,就像想扑克牌一样,一个在前面一个在后面。

CSS 样式

对应的 CSS 样式代码:

/* entire container, keeps perspective */

.flip-container {

perspective: 1000;

transform-style: preserve-3d;

}

/* UPDATED! flip the pane when hovered */

.flip-container:hover .back {

transform: rotateY(0deg);

}

.flip-container:hover .front {

transform: rotateY(180deg);

}

.flip-container, .front, .back {

width: 320px;

height: 480px;

}

/* flip speed goes here */

.flipper {

transition: 0.6s;

transform-style: preserve-3d;

position: relative;

}

/* hide back of pane during swap */

.front, .back {

backface-visibility: hidden;

transition: 0.6s;

transform-style: preserve-3d;

position: absolute;

top: 0;

left: 0;

}

/* UPDATED! front pane, placed above back */

.front {

z-index: 2;

transform: rotateY(0deg);

}

/* back, initially hidden pane */

.back {

transform: rotateY(-180deg);

}

这里简单的解释下上面的 CSS 代码,使用定位将两个 DIV 重叠在一起,定义动画的类型为 3D 动画,动画为翻转 0 度,也就是默认现在的样子,定义动画的执行时间。

CSS 触发动画

当鼠标移动到元素上,我们就执行我们定义好的动画:

/* flip the pane when hovered */

.flip-container:hover .back, .flip-container.hover .back

transform: rotateY(0deg);

}

.flip-container:hover .front, .flip-container.hover .front {

transform: rotateY(180deg);

}

CSS 翻转动画是我们最简单和基本的动画类型,通过鼠标的操作,我们可以在同一个地方展示更多的内容,而且还有个很好看的动画效果,这对于网页的用户体验是极好的。

点击这里参看示例:http://run.wenjiangs.com/code/#/?code=7gGw1C37

以上是 使用纯 CSS 创建炫酷的翻转动画效果 的全部内容, 来源链接: utcz.com/p/231846.html

回到顶部