CSS3制作立方体轮播图
效果图
实现原理
使用一个无序列表ul
,下有六个子元素li
,代表长方体的六个面。
主要用到的属性:
transform: rotateX(n deg) translateZ(n px)
让li
旋转之后再移动:这样有两个好处:1、有规律,好记,因为每次只需要改变rotateX()
的值,每次增大 90o,translateZ()
的值不需要改变。但这是次要的。2、主要是图片从下方旋转上来,图片的方向都是正确的,上下没有颠倒。但是需要注意的是:旋转之后,坐标轴也会跟着旋转transform-style: preserve-3d;
要给li
的父级元素ul
添加此属性,使li
能够以立体的效果呈现perspective: 800px;
要给ul
的父级元素添加此属性,在本例中是body
。因为旋转是整个ul
在旋转,要让ul
有一个近大远小的效果。animate
,让容器动起来。
注意点:其实一开始做出来是一个正方体,但显示的是长方体,从正方体变为长方体只需要将前后上下四个面伸长即可,scale(2,1)
。
源码
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>长方体轮播效果</title><style type="text/css">body,ul{margin: 0;padding: 0;}body{background-color: #EEEEEE;perspective: 800px; /* 要使ul能够呈现3D效果,需在ul的父级元素body上添加透视属性*/}ul {width: 200px;height: 200px;margin: 200px auto;transform-style: preserve-3d;position: relative;transform: rotateX(0deg);animation: rot 10s linear 0s infinite normal;}@keyframes rot {0% {transform:rotateX(0deg);}100% {transform:rotateX(360deg);}}ul>li{list-style: none;width: 200px;height: 200px;background-color: #424242;position: absolute;top: 0;left: 0;}ul:hover{ /* ul被覆盖,动画暂停*/animation-play-state: paused;}ul:hover li>img{opacity: 0.5;}ul>li:hover img{opacity: 1;}ul>li:nth-child(1){transform: rotateX(90deg) translateZ(100px) scale(2,1);}ul>li:nth-child(2){transform: rotateX(180deg) translateZ(100px) scale(2,1);}ul>li:nth-child(3){transform: rotateX(270deg) translateZ(100px) scale(2,1);}ul>li:nth-child(4){transform: rotateX(360deg) translateZ(100px) scale(2,1);}ul>li:nth-child(5){transform: rotateY(90deg) translateZ(-200px);}ul>li:nth-child(6){transform: rotateY(90deg) translateZ(200px);}</style></head><body><!-- 从正方体变为长方体只需要将前后上下四个面伸长即可,scale(2,1) --><!-- 注意:scale(),会连同元素里面的内容一起缩放 --><ul><li><img src="./images/img6.jpg"></li><!-- 顶面 --><li><img src="./images/img7.jpg"></li><!-- 后面 --><li><img src="./images/img8.jpg"></li><!-- 底面 --><li><img src="./images/img9.jpg"></li><!-- 前面 --><li>5</li><!-- 左面 --><li>6</li><!-- 右面 --></ul></body>
</html>
CSS3制作立方体轮播图相关推荐
- 网页制作使用CSS样式制作轮播教程,静态网页设计与开发 1.案例——CSS3制作图片轮播图 (4)使用纯CSS3代码实现简单的图片轮播——分步骤实现.docx...
使用纯CSS3代码实现简单的图片轮播 设计思路: 以5张图片为例: 1.基本布局: 通过设置每张图片的尺寸和父容器的尺寸,从而将5张图片横向并排放入一个div容器(#photos)内.所有图片设置统一 ...
- CSS3 3D切割轮播图
一.效果图 二.源码 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- html图片轮播思路,css3如何实现轮播图?css3实现轮播图片的方法
我们在网页上经常会看到有一块位置会有很多的图片来回切换,这就是轮播图,轮播图的出现,让重要的信息可以在一个位置显现,那么,轮播图是如何实现的呢?轮播图的实现用js或者css都可以,本篇文章就来给大家介 ...
- html3d轮播图片效果,CSS3,3D效果轮播图
---恢复内遇新是直朋能到分览支体调容开始--- 大家还的候通现端数是制这.效合应近环大过这业据记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮在重说 ...
- html百叶窗切换效果,纯CSS3百叶窗式切换轮播图特效
这是一款使用纯CSS3制作的百叶窗式切换轮播图特效.该特效使用背景图片来制作,在轮播图切换时,通过一组div元素来制作百叶窗效果,非常的炫酷. 使用方法 HTML结构 该轮播图特效中使用了6张背景图片 ...
- CSS3+JS切割轮播图
以下说明数据,是指有4张图片的轮播图,分别切割成4张. 首先,做成单张切换的立体效果,即通过旋转,确定四张图片的位置,分别是一个立方体的上下前后的图片翻转移动角度. .box ul li:nth-ch ...
- 纯css制作简易轮播图(animation、keyFrame)
主要是通过css3的动画及关键帧属性来设置图片的平移距离,以达到轮播图的效果 HTMl <body><div class="banner"><div ...
- 如何通过 HTML+CSS+JS 制作焦点轮播图
序言 [版权声明]:狸狸高度重视原创作者或者著作权人应该享有的著作权,严格遵守国家相关法律法规,系该文章内所引用到的实例并非百分之百对原作品进行还原.因此,即便是您完完整整的复制并粘贴了本文章内所有的 ...
- 纯css3实现无缝轮播图效果
主要就是利用css3中的动画了,看完整实现代码如下: <!DOCTYPE html> <html lang="en"> <head><me ...
最新文章
- R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
- 【Android基础】序列化 Serializable vs Parcelable
- SpringMVC学习笔记四:数据绑定
- android与html注册登录,Android登录注册源码
- java中break内外循环_java 中break如何跳出外部循环
- POJ 3436 -- ACM Computer Factory(最大流,建图)
- cacheinterceptor第二次访问没被调用_访问者设计模式在OSG中的应用
- j2ee核心模式_Operator和Sidecar正在成为软件交付新模式
- java xml接口实例化_Spring简介及xml配置
- html音乐播放器如何添加暂停按钮,HotKey播放/暂停HTML5音乐播放器
- 数据分析的数据来源于哪
- bottle框架学习(四)之模版进阶使用
- python实战项目(Django技术点)
- 做一个有批判性思维的程序员
- (java)word转html并提取word中的目录结构树生成到html页面中的左边树
- 大多数计算机专业研究生的三年是怎么过的?
- 2023秋招大厂经典面试题及答案整理归纳(101-120)校招必看
- 让整个页面从iframe中跳出来
- 分享新手电商(淘宝、拼多多、楚楚街)上货经验
- 怎么进行用户体验与可用性测试?
热门文章
- ARTS挑战打卡第十五周
- 持续请求/socket.io/?EIO=3transport=pollingt=N8HrzIR
- linux设定tomcat开机自动启动
- AIDL中in,out和inout的区别
- ant 表格自定义表头和表格筛选
- python--判断奇数偶数
- 修复剑灵新装系统后不能玩的问题
- UI自动化之图片验证码处理
- # QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unk
- Java二维数组,将古诗《相思》分别用横版和竖版的形式输出