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样式linear-gradient的使用实例
Jan 16 HTML / CSS
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
Jul 03 HTML / CSS
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
Jan 06 HTML / CSS
Html5页面在微信端的分享的实现方法
Aug 30 HTML / CSS
HTML5 中新的全局属性(整理)
Jul 31 HTML / CSS
html5使用canvas画空心圆与实心圆
Dec 15 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
Mar 08 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
Jan 22 HTML / CSS
h5使用canvas画布实现手势解锁
Jan 04 HTML / CSS
HTML5中的网络存储实现方式
Apr 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静态新闻列表自动生成代码
2007/06/14 PHP
php 强制下载文件实现代码
2013/10/28 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python实现的Excel文件读写类
2015/07/30 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python连接Impala实现步骤解析
2020/08/04 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
我有一个梦想演讲稿
2014/05/05 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS