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解决移动页面上点击链接触发色块的问题
Jun 03 HTML / CSS
CSS图片翻转动画技术详解(IE也实现了)
Apr 03 HTML / CSS
利用css3画个同心圆示例代码
Jul 03 HTML / CSS
css3通过scale()、rotate()实现放大、旋转
Mar 19 HTML / CSS
浅谈pc和移动端的响应式的使用
Jan 03 HTML / CSS
用HTML5实现网站在windows8中贴靠的方法
Apr 21 HTML / CSS
Application Cache未缓存文件无法访问无法加载问题
May 31 HTML / CSS
HTML5 weui使用笔记
Nov 21 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
Dec 23 HTML / CSS
canvas绘制图片drawImage使用方法
Sep 15 HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 HTML / CSS
带你了解CSS基础知识,样式
Jul 21 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常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
MSN消息提示类
2006/09/05 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python 写的一个爬虫程序源码
2016/02/28 Python
Python画图学习入门教程
2016/07/01 Python
Python元字符的用法实例解析
2018/01/17 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
python的dict判断key是否存在的方法
2020/12/09 Python
晚会主持词开场白
2014/03/17 职场文书
社会公德演讲稿
2014/05/20 职场文书
社区工作者演讲稿
2014/05/23 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android