CSS3+jquery实现图片万花筒3D旋转动画特效
一 需求样式:
二 代码示意:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS3图片万花筒3D旋转动画特效</title>
<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<style>*{padding: 0;margin: 0;}img{width:200px;height: 300px;}body{ background-color: #fff; }/* 动画 沿着X轴倾斜-15deg,动画沿着Y轴旋转 */@keyframes fn{0% {transform:rotateX(-15deg) rotateY(0deg);}100%{transform:rotateX(-15deg) rotateY(360deg);}}@-moz-keyframes fn{0% {transform:rotateX(-15deg) rotateY(0deg);}100%{transform:rotateX(-15deg) rotateY(360deg);}}@-ms-keyframes fn{0% {transform:rotateX(-15deg) rotateY(0deg);}100%{transform:rotateX(-15deg) rotateY(360deg);}}@-webkit-keyframes fn{0% {transform:rotateX(-15deg) rotateY(0deg);}100%{transform:rotateX(-15deg) rotateY(360deg);}}/* 动画加给了父盒子 */.box{ width:200px;height:300px;position:relative;margin:auto;margin-top:150px;transform-style:preserve-3d;transform:rotateX(-10deg);animation: fn 10s;animation-iteration-count: infinite;animation-timing-function: linear;position: relative}/* 鼠标滑过,停止旋转*/.box:hover{animation-play-state: paused;}.box>div{width:200px;height:300px;position: absolute;left:0;top:0;}
</style></head>
<body>
<div class="box"><!-- 图片 --><div ><img src="img/1.png" ></div><div ><img src="img/2.png"></div><div ><img src="img/3.png"></div><div ><img src="img/4.png"></div><div><img src="img/5.png"></div><div ><img src="img/6.png"></div><div><img src="img/7.png"></div><div ><img src="img/8.png"></div><div><img src="img/9.png" ></div>
</div>
<script>$(function(){var imgL=$(".box div").size();console.log(imgL)var deg=360/(imgL-1);//注意这边是遍历,别忘记i$(".box div").each(function(i){$(this).css({// <!--translateZ 定义2d旋转沿着z轴-->"transform":"rotateY("+i*deg+"deg) translateZ(275px)" });// <!--防止图片被拖拽-->$(this).attr('ondragstart','return false');});})
</script>
</div>
</body>
</html>
三 知识点总结:
1.transform-style:preserve-3d;
transform-style: flat | preserve-3d
其中flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。
也就是说,如果对一个元素设置了transform-style的值为flat,则该元素的所有子元素都将被平展到该元素的2D平面中进行呈现。沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。如果对一个元素设置了transform-style的值为preserve-3d,它表示不执行平展操作,他的所有子元素位于3D空间中。
transform-style属性需要设置在父元素中,并且高于任何嵌套的变形元素。
2.translateZ()
在Z轴上移动xx距离
3.常见的比较容易弄混的css样式
(1)skew() 方法
通过 skew() 方法,元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:
值 skew(30deg,20deg) 围绕 X 轴把元素翻转 30 度,围绕 Y 轴翻转 20 度。
(2)rotate()方法
通过 rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。
值 rotate(30deg) 把元素顺时针旋转 30 度。
(3)translate() 方法
通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:
值 translate(50px,100px) 把元素从左侧移动 50 像素,从顶端移动 100 像素
CSS3+jquery实现图片万花筒3D旋转动画特效相关推荐
- html5 canvas文字标签云3D旋转动画特效
tagcanvas.min.js下载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- HTML+CSS+JS实现 ❤️爱心文字3D旋转动画特效❤️
- php星空背景动态,纯CSS3炫酷3D星空动画特效
简要教程 这是一款使用纯CSS3制作的炫酷3D星空动画特效.该特效中,以飞船向前快速移动为视角,所有的星星都快速的变大并向后移动,效果非常逼真. 使用方法 HTML结构 该3D星空特效只使用一个 元素 ...
- html5 鼠标旋转动画效果,CSS3鼠标滑过图片3D翻转动画特效
这是一款效果非常炫酷的CSS3鼠标滑过图片3D翻转动画特效.该特效基于Bootstrap网格系统来布局,通过简单的CSS3代码,在鼠标滑过图片时对图片进行3D翻转,效果非常的酷. 使用方法 HTML结 ...
- 【精心挑选】10款基于 jQuery 的图片360度旋转插件
之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...
- 精心挑选10款基于 jQuery 的图片360度旋转插件
之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...
- jQuery和CSS3炫酷滚动页面内容元素动画特效
jquery-smoove是一款jQuery和CSS3炫酷滚动页面内容元素动画特效插件.该内容元素动画插件在页面滚动到指定位置时,该位置的HTML元素会执行指定的CSS3动画特效,如旋转.翻转.放大缩 ...
- css3+jQuery制作导航菜单(带动画效果)
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>css ...
- 纯CSS3炫酷3D星空动画特效
效果: 源码: <!DOCTYPE html> <html lang="zh"> <head><meta charset="UT ...
- 3D万花筒无限延伸动画特效(源码)
HTML代码 <!DOCTYPE html> <html lang="en" > <head> <meta charset="U ...
最新文章
- 1.3 万亿条数据查询,知乎如何做到毫秒级响应?
- SQL语句修改主键列
- ACM-ICPC中博弈论的一些小小总结
- java 并发 同步信号_Java并发教程–信号量
- ubuntu 安装java jdk_「ubuntu安装jdk」Ubuntu安装jdk8的两种方式 - seo实验室
- ios 可以为空声明_iOS开发中使用OC和swift的对比(2)
- 21 句话入门机器学习
- magento 模板区块--商品总类别显示页
- ps抠图头发丝 智能半径
- 我男朋友是产品经理......
- 企业上云要几步?中拓互联奉送企业上云全攻略
- Kotlin语言中的泛型设计哲学
- 5G通信设备安装,不仅是技术活,更是一门艺术活!(干货图文大全)
- 【揭秘恒大老总许家印】迄今为止最深度、全面的
- Texmaker+Miktex配置
- Oracle日常性能查看
- 十八、从Django入手
- 整个部门就一个研发?
- 飞翔的小鸟游戏基于arm开发板制作
- 答辩PPT的美化以及配色