利用纯CSS3实现超立体的3D图片侧翻倾斜效果
来源:互联网 发布:php和asp.net哪个好 编辑:程序博客网 时间:2024/04/28 12:10
原文地址:http://www.cnblogs.com/html5tricks/p/3668494.html
上午的时候我在jQuery论坛上看到网友分享的一款CSS3 3D图片侧翻倾斜特效,觉得效果非常棒,其实话说回来,这玩意儿的实现真的非常简单,主要是创意不错。先来看看效果图。
如何,看上去挺不错吧,倾斜、阴影,让一张很普通的图片变得如此霸气。
另外你也可以在这里查看DEMO演示,鼠标滑过图片时会出现这样的效果。
那么接下来我们分析一下源码吧,显示html代码,非常简单:
<div onclick=""> <figure> <figcaption>Autumn, by Lucien Agasse</figcaption> </figure></div>
这里用了HTML5的 figure标签,表示插图,没什么特别。
然后是CSS代码:
figure { margin: 0; width: 100%; height: 29.5vw; background: url("winter-hat.jpg"); background-size: 100%; transform-origin: center bottom; transform-style: preserve-3d; transition: 1s transform; }figure figcaption { width: 100%; background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("winter-hat.jpg"); background-size: 100%; height: 50px; background-repeat: no-repeat; background-position: bottom; color: #fff; position: relative; top: 29.5vw; transform-origin: center top; transform: rotateX(-89.9deg); font-size: 1.2vw; font-family: Montserrat, Arial, sans-serif; text-align: center; line-height: 3;}figure:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 100px 50px rgba(0, 0, 0, 0.1), inset 0 0 250px 250px rgba(0, 0, 0, 0.1); transition: 1s; transform: rotateX(95deg) translateZ(-80px) scale(0.75); transform-origin: inherit;}
这里我们定义了figure的背景图片,也就是我们要实现3d效果的那张图片。同时还定义了图片的描述信息样式,这样在图片侧翻后更加凸显立体效果。
接下来就是鼠标滑过的动画效果了:
div:hover figure { transform: rotateX(75deg) translateZ(5vw); }div:hover figure:before { box-shadow: 0 0 25px 25px rgba(0, 0, 0, 0.5), inset 0 0 250px 250px rgba(0, 0, 0, 0.5); transform: rotateX(-5deg) translateZ(-80px) scale(1); }@media screen and (max-width: 800px) { div { width: 50%; } figure { height: 45vw; } figure figcaption { top: 45vw; font-size: 2vw; } }@media screen and (max-width: 500px) { div { width: 80%; margin-top: 1rem; } figure { height: 70vw; } figure figcaption { top: 70vw; font-size: 3vw; } }
很容易可以看出这里利用了css3的transform属性,其中rotateX来翻转,translateZ来实现Z轴的3D转换,思路都非常清晰。
最后,还是把源码分享一下,下载地址>>
0 0
- 利用纯CSS3实现超立体的3D图片侧翻倾斜效果
- CSS3实现图片超立体3D效果
- CSS3实现3D立体效果
- CSS3实现3d效果的立体盒子
- 纯CSS3实现真实翻书效果
- 图片3D效果倾斜
- 利用css3实现3d立体特效--正方体
- css3实现图片3d翻转效果
- 纯css3实现的3D按钮
- jQuery实现图片3D折叠,翻页,翻书效果
- 纯CSS3超酷3D旋转立方体动画特效效果演示
- CSS3-阴影 效果做成的立体图片效果
- WPF技术触屏上的应用系列(四): 3D效果图片播放器(图片立体轮放、图片立体轮播、图片倒影立体滚动)效果实现
- PHP实现立体3D效果的饼状统计图
- 见过这样的用CSS3制作的3D立体效果文字吗?
- CSS3 animate实现图片墙3D翻转效果
- 使用 CSS3 实现 3D 图片滑块效果
- CSS3 transform实现图片旋转木马3D浏览效果
- (十六)-将Image转换为Base64
- HDU 2795 Billboard(线段树)
- 重建控制文件--alter database backup controlfile to trace
- 【rollback】
- POJ 1182食物链(并查集)
- 利用纯CSS3实现超立体的3D图片侧翻倾斜效果
- (十七)-利用UITableView实现个人信息界面
- zoj1090
- IOS-小技巧
- 蓝桥杯vip练习 Huffman树
- HDU_1073Online Judge
- PIGS
- 数据结构学习笔记(12.递归的应用之八皇后回溯算法)
- (十八)-利用代理实现向上一级页面传递数据