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 透明色 RGBA使用介绍
Aug 06 HTML / CSS
分享CSS3制作卡片式图片的方法
Jul 08 HTML / CSS
HTML5 中新的全局属性(整理)
Jul 31 HTML / CSS
使用HTML5拍照示例代码
Aug 06 HTML / CSS
详解前端HTML5几种存储方式的总结
Dec 27 HTML / CSS
Html5实现文件异步上传功能
May 19 HTML / CSS
深入浅析HTML5中的article和section的区别
May 15 HTML / CSS
利用Storage Event实现页面间通信的示例代码
Jul 26 HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
Apr 29 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
Dec 14 HTML / CSS
css3 选择器
May 11 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 魔术函数使用说明
2010/02/21 PHP
php中autoload的用法总结
2013/11/08 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
php里array_work用法实例分析
2015/07/13 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
javascript call和apply方法
2008/11/24 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
python re模块findall()函数实例解析
2018/01/19 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python中p-value的实现方式
2019/12/16 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
HTML5实现签到 功能
2018/10/09 HTML / CSS
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
家长会主持词开场白
2014/03/18 职场文书
项目投资建议书
2014/05/16 职场文书
全运会口号
2014/06/20 职场文书
红色旅游心得体会
2014/09/03 职场文书
现货白银电话营销话术
2015/05/29 职场文书
出生证明范本
2015/06/15 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python