一 需求样式:

二 代码示意:

<!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旋转动画特效相关推荐

  1. html5 canvas文字标签云3D旋转动画特效

    tagcanvas.min.js下载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  2. HTML+CSS+JS实现 ❤️爱心文字3D旋转动画特效❤️

  3. php星空背景动态,纯CSS3炫酷3D星空动画特效

    简要教程 这是一款使用纯CSS3制作的炫酷3D星空动画特效.该特效中,以飞船向前快速移动为视角,所有的星星都快速的变大并向后移动,效果非常逼真. 使用方法 HTML结构 该3D星空特效只使用一个 元素 ...

  4. html5 鼠标旋转动画效果,CSS3鼠标滑过图片3D翻转动画特效

    这是一款效果非常炫酷的CSS3鼠标滑过图片3D翻转动画特效.该特效基于Bootstrap网格系统来布局,通过简单的CSS3代码,在鼠标滑过图片时对图片进行3D翻转,效果非常的酷. 使用方法 HTML结 ...

  5. 【精心挑选】10款基于 jQuery 的图片360度旋转插件

    之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...

  6. 精心挑选10款基于 jQuery 的图片360度旋转插件

    之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...

  7. jQuery和CSS3炫酷滚动页面内容元素动画特效

    jquery-smoove是一款jQuery和CSS3炫酷滚动页面内容元素动画特效插件.该内容元素动画插件在页面滚动到指定位置时,该位置的HTML元素会执行指定的CSS3动画特效,如旋转.翻转.放大缩 ...

  8. css3+jQuery制作导航菜单(带动画效果)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>css ...

  9. 纯CSS3炫酷3D星空动画特效

    效果: 源码: <!DOCTYPE html> <html lang="zh"> <head><meta charset="UT ...

  10. 3D万花筒无限延伸动画特效(源码)

    HTML代码 <!DOCTYPE html> <html lang="en" > <head> <meta charset="U ...

最新文章

  1. 1.3 万亿条数据查询,知乎如何做到毫秒级响应?
  2. SQL语句修改主键列
  3. ACM-ICPC中博弈论的一些小小总结
  4. java 并发 同步信号_Java并发教程–信号量
  5. ubuntu 安装java jdk_「ubuntu安装jdk」Ubuntu安装jdk8的两种方式 - seo实验室
  6. ios 可以为空声明_iOS开发中使用OC和swift的对比(2)
  7. 21 句话入门机器学习
  8. magento 模板区块--商品总类别显示页
  9. ps抠图头发丝 智能半径
  10. 我男朋友是产品经理......
  11. 企业上云要几步?中拓互联奉送企业上云全攻略
  12. Kotlin语言中的泛型设计哲学
  13. 5G通信设备安装,不仅是技术活,更是一门艺术活!(干货图文大全)
  14. 【揭秘恒大老总许家印】迄今为止最深度、全面的
  15. Texmaker+Miktex配置
  16. Oracle日常性能查看
  17. 十八、从Django入手
  18. 整个部门就一个研发?
  19. 飞翔的小鸟游戏基于arm开发板制作
  20. 答辩PPT的美化以及配色

热门文章

  1. 学术-几何-维-四维几何:超正方体(几何中的思维方体)
  2. 从汇编的角度理解什么是引用
  3. c语言程序设计小球弹跳,C语言实现弹跳小球
  4. HDU5713 K个联通块
  5. win 7旗舰版开机提示 :explorer.exe-无法找到入口
  6. 网络wifi已连接显示不可上网的解决方法教程
  7. JMeter中文使用手册
  8. OceanBase 社区版 3.1.3 Docker镜像尝鲜,能错过?不存在的
  9. win10 +ubuntu20.04双系统安装:双硬盘+nvidia独立显卡
  10. The perfect floor chair