立体轮播图

  • 代码+界面呈现
    HTML
<div class="pox"><ul class="box"><li class="one"><img src="./img/img1.jpg" alt=""></li><li class="two"><img src="./img/img2.jpg" alt=""></li><li class="three"><img src="./img/img3.jpg" alt=""></li><li class="four"><img src="./img/img4.jpg" alt=""></li><li class="five"><img src="./img/img5.jpg" alt=""></li><li class="six"><img src="./img/img6.jpg" alt=""></li></ul></div>

CSS

 body,html,div,ul,li {margin: 0;padding: 0;}.pox{position: relative;perspective: 1600px;border: 1px solid #000;margin: 0 auto;width: 300px;height: 300px;}.box {height: 300px;margin: 0 auto;position: relative;transform-style: preserve-3d;width: 300px;transition: 2s;}.box>li {width: 300px;height: 300px;list-style: none;text-align: center;line-height: 300px;font-size: 30px;position: absolute;}.box>li>img {width: 300px;height: 300px;}.one {background: rgba(255, 0, 5, 0.3);transform: translateZ(150px);}.two {background: rgba(220, 104, 44, 0.3);transform: rotateY(90deg) translateZ(150px);}.three {background: rgba(255, 239, 0, 0.3);transform: translateZ(-150px) rotate(180deg);}.four {background: rgba(86, 255, 0, 0.3);transform: rotateY(-90deg) translateZ(150px);}.five {background: rgba(0, 76, 255, 0.3);transform: rotateX(90deg) translateZ(150px);}.six {background: rgba(168, 0, 255, 0.3);transform: rotateX(-90deg) translateZ(150px);}

效果:如下图的一个正方体

调整为轮播图需要添加JS部分:效果每间隔3s中会轮播一次,为什么是3s因为正方体每次旋转的时间用去了2s

function scroll() {var time = 90;var num = 0;setInterval(function () {num++$('.box').css({ "transform": "rotateY(" + time*num + "deg)" })}, 5000)
}
scroll()

知识点:

  • 布局:

1.外层标签.pox:第一个div(.pox)使用了perspective:1600px属性来实现景深,同时设置一个基准平面作为参照——观察者距离距离z=0平面的距离,如果正方体的面都是透明的,那么会有可透视的效果,如果z>0,元素看起来会比正常要偏大,反之则偏小
2.外层标签.box:第二个div(.box)保留3d效果,transform-style: preserve-3d
3.内层的6个li标签则分别是正方体的6个面,主要通过旋转和位移调整

  • 关于translate()
    需要注意的是该属性的X,Y,Z轴始终是针对元素当前的位置来说的,什么意思?例如:对于正对观察者的元素,垂直屏幕的轴就是Z轴,但是如果该元素围绕Y轴旋转了90deg之后,那么相对于该元素来讲,Z轴就变成平行屏幕的方向了。这点掌握了,就可以轻松写立体图形了

使用CSS写正方体,结合JS实现3D轮播图相关推荐

  1. html图片3djs轮播,原生js实现3D轮播图

    3D轮播图是我做过复杂的图片轮播了,由于是利用坐标,层级之间的关系,所以实现起来原理比较简单但是bug巨多,在推推拖拖了好久后,下定决心重新整理成博客,与大家分享! 首先分析一下3D图片轮播的功能需求 ...

  2. 用原生JS实现3D轮播效果

    用原生JS实现3D轮播效果 实现思路: 先实现无缝轮播效果 添加3D效果 完善代码 增加自动轮播效果 效果如下: 视图中显示3张图片,并通过CSS的透视和旋转实现3D效果,当无任何操作时,图片自动循环 ...

  3. 1.Web前端之CSS3中3D立方体以及3D轮播图

    1.3D坐标系 3D坐标可以用左手来模拟,其中大拇指方向默认是X轴正方向,食指方向是Y轴正方向,中指方向是Z轴正方向.注意:当设置transform:rotateX(90deg)时,相当于将X轴转动9 ...

  4. css3轮播不用jpuery_js和CSS3 3D轮播图

    这是一款js和CSS3 3D轮播图.这组3D轮播图中,共演示了6种轮播图效果.这些3D轮播图都是通过简单的JS代码配合CSS3来完成的. 使用方法 HTML结构 以8张图片的3D轮播图为例,它的基本H ...

  5. 微信小程序实现3D轮播图

    在写微信小程序时,有写到实现3D轮播图的效果,可以直接使用微信小程序中自带的组件swiper来实现 效果图如下: 1.swiper的相关属性 indicator-dots 是否显示小圆点,也可以自己重 ...

  6. 微信小程序3D轮播图实现

    好久没有写博客了,前段时间换了家公司,做了两个多星期,完成了一款app的开发, 公司没有app的需求了,我们几个移动端Android和IOS都转岗开发微信小程序,由于刚接触小程序不到两周,技术还是基于 ...

  7. 原生js进阶版轮播图实现(走马灯效果,无缝衔接)

    原生js进阶版轮播图实现(走马灯效果,无缝衔接) 利用原生js手写一个轮播图,是上一篇文章的简易版的一个进阶,本次轮播图主要是利用定位和定时器实现了走马灯效果,并且是左右轮播.实现过程与代码也是很简单 ...

  8. 小程序实现3D轮播图效果

    小程序通过swiper标签实现3D轮播图效果 一.效果图 二.代码块 1.html <view wx:if="{{slideList.length>0}}" class ...

  9. javaScript小案例------js实现无缝轮播图效果篇

    原生js书写无缝轮播图 javaScript无缝轮播图思路及源码 无缝轮播图效果 总体思路 下面附上代码: html css animate.js index.js javaScript无缝轮播图思路 ...

最新文章

  1. java基础之继承补充和抽象类
  2. unbuntu server (linux系统)下面安装 lamp
  3. android 高清壁纸设置慢
  4. StackOverflow 每月5.6亿PV,但只用25台服务器
  5. php long2ip,php 中IPV6 ip2long的问题解决办法
  6. 《你的灯亮着吗》阅读笔记(三)
  7. 就业信息网进行服务器维护,服务器安全武汉大学黄石理工学院就业信息网.pptx...
  8. 全网史上最全IT,人工智能,网页开发资料免费送;新时代人人都需要的资料,不看后悔
  9. 如何写好学术期刊文章?
  10. C++_类和对象_C++多态_多态的原理剖析---C++语言工作笔记070
  11. Mac 下svn客户端安装
  12. 自己做量化交易软件(28)小白量化实战2--变红买入变绿卖出
  13. 安卓执法仪录像之进程间共享内存
  14. 魔方自动还原程序3D版本和2D 修正版
  15. Exchange 常见问题之十
  16. 在SimpleITK形式下,将RAS和IJK坐标系互转
  17. 深度原创丨揭开工业互联网看不见的手:从MindSphere+Mendix谈起
  18. 鸿蒙系统是开放系统还是封闭系统,鸿蒙系统三挑战:应用如何兼容,生态怎么搭建,开放还是闭合...
  19. VINS-Mono中的边缘化与滑窗 (2)—— 边缘化最老帧
  20. showdoc mysql版_ShowDoc上手

热门文章

  1. 计算机内存条如何区分频率,Win7怎么看内存条频率,教您查看方法
  2. android 蓝牙打印 js,Native.js 安卓连接蓝牙打印机【可连续打印】
  3. 2020第十一届蓝桥杯C/C++国赛B组
  4. android 读build.prop,Android系统下的build.prop文件
  5. 今天起,上海用户可以用滴滴App免费打无人车了
  6. JAVA:Java Swing 练习题
  7. 带有神经网络的梯度消失(Vanishing gradients with RNNs)
  8. 十字隧道工程盾构机穿过马骝洲水道
  9. LintCode_新手必编程50题(1-3阶段)解答与分析
  10. 前端UI框架横向对比