css3实现超立体3D图片侧翻倾斜效果


Posted in HTML / CSS onApril 16, 2014

css3实现超立体3D图片侧翻倾斜效果

上午的时候我在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);
}</p> <p>@media screen and (max-width: 800px) {
div { width: 50%; }
figure { height: 45vw; }
figure figcaption {
top: 45vw;
font-size: 2vw;
}
}</p> <p>@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转换,思路都非常清晰。
HTML / CSS 相关文章推荐
细说CSS3中的选择符
Oct 17 HTML / CSS
用css3制作纸张效果(外翻卷角)
Feb 01 HTML / CSS
一款利用纯css3实现的360度翻转按钮的实例教程
Nov 05 HTML / CSS
HTML5之web workers_动力节点Java学院整理
Jul 17 HTML / CSS
HTML5之多线程(Web Worker)
Jan 02 HTML / CSS
html5 兼容IE6结构的实现代码
May 14 HTML / CSS
如何使用html5与css3完成google涂鸦动画
Dec 16 HTML / CSS
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
Jan 06 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
Jul 25 HTML / CSS
深入理解margin塌陷和margin合并的解决方案
Jun 26 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 HTML / CSS
分享CSS盒子模型隐藏的几种方式
Feb 28 HTML / CSS
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
Apr 16 #HTML / CSS
纯CSS实现的大小渐变、渐远效果
Apr 15 #HTML / CSS
CSS中几个与换行有关的属性简明总结
Apr 15 #HTML / CSS
css3 条纹化和透明化表格Firefox下测试成功
Apr 15 #HTML / CSS
css3新增颜色表示方式分享
Apr 15 #HTML / CSS
常用的四种CSS透明属性介绍
Apr 12 #HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 #HTML / CSS
You might like
PHP实时显示输出
2008/10/02 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
Django添加sitemap的方法示例
2018/08/06 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
python不同系统中打开方法
2020/06/23 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
城市精细化管理实施方案
2014/03/04 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
运动会广播稿50字
2015/08/19 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
html实现随机点名器的示例代码
2021/04/02 Javascript
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL