您现在的位置是:网站首页> 编程资料编程资料
纯css3实现走马灯效果css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
2021-09-05
1166人已围观
简介 这篇文章主要介绍了纯css3实现走马灯效果,主要用到的css3技术有:keyframes、perspective、perspective-origin、transform(translate、rotate)、animation、transform-origin,有需要的小伙伴参考下
纯css3实现了一个正六边形的走马灯效果,记录一下css3动画的学习情况,效果如下:
主要用到的css3技术有:keyframes、perspective、perspective-origin、transform(translate、rotate)、animation、transform-origin,另外加一点平面几何知识(计算间距、角度啥的),详细过程如下:
首先设计一下要显示的布局(俯视图),途中垂直的线为辅助线,计算偏移量时需要用的:
红色框框为旋转面(即走马灯效果的结构最终以该面的中点为旋转轴旋转的),六个面也都是基于这个面做的布局,先看红框下面的三个面,左侧的面原本在蓝色线处,通过旋转到达绿色线处,右边同理,中间的面只需要在Z轴方向移动二分之根号三个边长的距离即可,所有的面均通过偏移和旋转的方式达到上图的结构,需要注意的是要保证有图案的面(本例中使用的是文字,思路一致)要向外,比如上面中间的面,在Z轴向外偏移二分之根号三个边长的距离之后还要以中点为圆心旋转180°,所有的面同理易得。在此过程中需要牢记的一点技术是:三维坐标系中,从坐标原点出发,向着坐标轴的正方向看去,逆时针旋转时rotate(X/Y/Z)的值为正数,顺时针旋转时,rotate(X/Y/Z)值为负数。
设置结构:一个3D场景、一个走马灯的旋转面和走马灯的六个面:
设置3D场景:
.wapper{
-webkit-perspective:800; /*观察距离800*/
-webkit-perspective-origin:50% -100%; /*从正前方上方斜向下观察*/
width:400px;
height:300px;
margin:100px auto;
}
设置旋转面:
@-webkit-keyframes rotation{ /*动画过程*/
0%{-webkit-transform:rotateY(0deg);}
100%{-webkit-transform:rotateY(-360deg);}
}
.rotate{
-webkit-transform-style:preserve-3d; /*3D变换*/
-webkit-animation: rotation 6s infinite; /*动画名称、时间、循环动画*/
-webkit-animation-timing-function: linear; /*匀速动画*/
-webkit-transform-origin:center; /*沿中间旋转*/
width:100%;
height:100%;
position:relative; /*相对定位布局*/
}
对六个面除了位置之外的通用样式做设置:
.item{
-webkit-transform-origin:center; /*均沿中心旋转*/
width:198px;
height:300px;
position:absolute; /*绝对定位在旋转面上*/
background:none;
text-align:center;
line-height:300px;
}
分别设置六个面的位置,以一号为例(上面结构图中红框下面左边绿色线标注的面),所有的数值均需要经过几何计算得来:
.itemOne{
left:-50px;
-webkit-transform:translateZ(87px) rotateY(-60deg); /*z轴向外移动87px,沿Y轴方向旋转-60°*/
background:#f00;
}
在鼠标悬浮在该结构上时动画停止:
.rotate:hover{
-webkit-animation-play-state:paused; /*设置动画状态*/
}
本例子只有在webkit内核的浏览器中可以查看效果,如需兼容其他现代浏览器,需添加 -moz- 等前缀,完整代码如下:
是不是很炫酷的效果呢,小伙伴们,CSS3真是个好东西,你值得拥有。
相关内容
- CSS3实现的炫酷菜单代码分享基于jquery+css3的固定的网页底部的炫酷工具条使用简单的CSS3属性实现炫酷读者墙效果一款既炫酷又实用的jQuery+CSS3多张图片选择动画特效5种CSS3炫酷效果的自定义Checkbox特效代码CSS3与SVG实现文字背景动画炫酷特效源码纯CSS3实现炫酷卡通人物面部表情动画效果源码CSS3+SVG实现的炫酷发光特效进度条Loading动画源码
- css3实现3d旋转动画特效纯CSS3实现的3D立方体旋转动画特效源码纯CSS3实现的3D旋转下拉菜单效果源码 HTML5+CSS3实现3D旋转陀螺动画特效源码HTML5/CSS3实现的3D环形旋转图片墙动画特效源码CSS3实现的一款迷人3D木块旋转动画jquery+css3实现图像三维旋转效果类似风扇转动的3D效果css3 transform 3d 使用html5+css3创建动态旋转的3d立方体纯CSS3实现3D旋转书本效果
- 简单实现栅格布局的两种方式bootstrap3.0教程之栅格系统原理(布局)bootstrap3.0教程之栅格系统案例(包括栅格选项、从堆叠到水平排列、移
- 纯css3实现图片翻牌特效js+CSS3 3D旋转木马特效插件css3实现椭圆轨迹旋转的示例代码微信小程序实现可实时改变转速的css3旋转动画实例代码CSS3打造百度贴吧的3D翻牌效果示例CSS3实现简易版的刮刮乐效果css实现旋转翻牌动画效果
- 如何使用PS合成玫瑰花园中奔跑的女孩CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- css中pointer-events属性详解详解CSS pointer-events属性的使用css3 pointer-events 介绍详解CSS利用pointer-events防止重复点击的方法实例使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧CSS的pointer-events属性详细介绍(作用和注意事项)css pointer-events属性实现下面元素可点击css不常见属性之pointer-events的使用方法
- CSS3制作苹果风格键盘特效
- CSS实现body背景层高于块元素的方法CSS技巧之圆角背景与三角形实现方法CSS下背景属性background的使用方法DIV+CSS中让布局、背景图片、文字内容居中的方法firefox中div+css的外层背景色不见的解决方法CSS实现背景图尺寸不随浏览器缩放而变化的两种方法css设置div背景颜色的方法多重CSS背景动画实现方法示例css背景色透明 内容不透明的解决方法(兼容所有浏览器)
- CSS3实现闪烁动画效果的方法一款纯CSS3代码实现星系轨道旋转网站菜单特效源码js+css3实现的圆形时钟带星期和日期效果源码CSS3 animation实现逐帧动画效果8款使用 CSS3 实现超炫的 Loading(加载)的动画效果CSS3实现的多个文字动画效果切换特效源码基于HTML5+CSS3实现的古典纸扇动画效果源码 一款纯css3实现的鼠标悬停动画按钮基于CSS3实现六种不同动画效果星级评分特效源码
- div中内容上下居中小结不定宽高的文字在div中垂直居中实现方法关于div中img,span垂直居中的问题让Div实现水平或垂直居中的相关方法css中position:fixed实现div在窗口上下左右居中css中position:fixed实现div居中上下左右居中DIV+CSS中让布局、背景图片、文字内容居中的方法IE9下DIV本来应该居中的结果显示为居左DIV+CSS垂直居中一个浮动元素CSS实现DIV居中的三种方法