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 相关文章推荐
网页布局中CSS样式无效的十个重要原因详解
Aug 10 HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
HTML5新增的标签和属性归纳总结
May 02 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
Mar 07 HTML / CSS
HTML5实践-图片设置成灰度图
Nov 12 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
Jan 30 HTML / CSS
【HTML5】Canvas绘制简单图片教程
May 13 HTML / CSS
HTML5不支持frameset的两种解决方法
Nov 14 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
Nov 26 HTML / CSS
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
May 07 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导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
javascript天然的迭代器
2010/10/29 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
通过js给网页加上水印背景实例
2019/06/17 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
浅谈python写入大量文件的问题
2018/11/09 Python
python分数表示方式和写法
2019/06/26 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
会计演讲稿范文
2014/05/23 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
房产分割协议书范文
2014/11/21 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
中英文求职信范文
2015/03/19 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
python3读取文件指定行的三种方法
2021/05/24 Python