您现在的位置是:网站首页> 编程资料编程资料
CSS3动画特效在活动页中的应用css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
2021-09-03
843人已围观
简介 这篇文章主要介绍了CSS3动画特效在活动页中的应用,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
背景
在不知不觉中,忙碌的一年将要结束,又到了一年一度的活动期了,为了展现喜庆的节日气氛,活动页面动态效果必不可少。
先上效果图:

一、整体分析
从图中可 以看到主要的动态效果有动态指示箭头和漫天飘雪效果,如果偷懒的话并直接使用这张效果图作为背景的话很不可取,因为张图片大小足有 3M多,这对于服务器和用户体验来说简直就是灾难,由于是活动页面访问量自然少不了,在并发量较高的情况下服务器自然不堪重负、同时也心疼用户的流量和用户等待响应的时间,作为一个精益求精的人,我们的原则是能用程序实现的效果坚决不用 gif ,能节省多少资源就节省多少资源。
二、动态指示箭头
从程序实现角度来看,我们首先要做的是封装变化点,将变与不变相分离,图中的五个关卡形式大体一致,每个关卡都有底座和箭头,将关卡封装好后再用数据驱动每个关卡的位置和箭头指示方向。
相关数据如下:
[ { state: 0, left: 9, top: -2, direction: { rotateZ: 290, color: "#d26754" } }, { state: 0, left: 66, top: 10, direction: { rotateZ: 24, color: "#f58351" } }, { state: 0, left: 18, top: 20, direction: { rotateZ: 30, color: "#f78351" } }, { state: 0, left: -2, top: 36.5, direction: { rotateZ: 295, color: "#e19d47" } }, { state: 0, left: 52, top: 49.5, direction: { rotateZ: 293, color: "#e19d47" } } ]1.动态效果分析
仔细观察效果图后发现,整体是有一个 3D 透视效果,视角并非垂直俯视,而像是 45 °角俯视。首先想到的是强大的 css3 的 3D 旋转,箭头效果可分为运行轨道 + 箭头运行效果。这样只需要对轨道做 3D 透视,箭头沿着外层轨道做重复运动就可以了。

2.具体实现
.direction { position: absolute; width: 20px; height: 260%; .half { flex: 1; } .track { position: relative; // margin-top: 90px; margin-top: 2em; .arrow { position: absolute; width: 0; height: 0; border: 10px solid; border-color: red transparent transparent; animation: dynamicArrow 3000ms infinite linear; } } } /* //动态箭头 */ @keyframes dynamicArrow { 0% { opacity: 1; bottom: 100%; } 70% { opacity: 1; } 90% { opacity: 0.1; bottom: -20px; } 100% { opacity: 0; } }
三、漫天飘雪
仔细观察效果图,雪花有大有小、速度有快有慢、位置有近有远、颜色有深有浅雪花整体飘动的方向是从上往下从左到右,并且要下的很均匀。
1.实现思路
雪花飘动轨道 +雪花飘动效果,将轨道倾斜一定角度后平铺整个屏幕,用数据控制每条轨道的位置、层级、轨道内雪花的大小、运行延迟、运行速度、颜色深浅。为了更直观的看到实现效果,将轨道设置背景色如下图:

2.具体实现
.s_track { position: absolute; width: 220%; // height: 10px; top: -10px; transform-origin: 0 0 0; .snow { visibility: hidden; position: absolute; z-index: 2; animation: dynamicSnow 2000ms infinite linear; } } /* //雪花 */ @keyframes dynamicSnow { 0% { visibility: visible; top: 0; left: 0; transform: rotate(0); } 100% { visibility: visible; top: 100%; left: 100%; transform: rotate(360deg); } } let snows = [], initCount = 16; for (let i = 0; i < initCount; i++) { let unit = i - 8, speed = i > 3 ? i % 3 : i, size = 0; speed++; if (i % 5 == 0) { size = 10; } else if (i % 8 == 0) { size = 20; } else { size = Math.random() * 10; } snows.push({ deviation: unit * 40, //位置 delay: Math.random() * 1000, //延迟 speed: speed * 3000, //速度 opacity: speed / 4, size: size, zindex: size >= 10 ? 4 : 0 }); } let snows2 = []; snows.forEach(f => { snows2.push({ ...f, deviation: snows[parseInt(Math.random() * initCount)].deviation - 10, delay: f.delay + 1000 //延迟 }); }); let snows3 = []; snows.forEach(f => { snows3.push({ ...f, deviation: snows[parseInt(Math.random() * initCount)].deviation - 20, delay: f.delay + 2000 //延迟 }); }); snows = snows.concat(snows2); snows = snows.concat(snows3); snows.sort((a, b) => a.deviation - b.deviation); this.snows = snows;
四、总结
作为前端开发人员,一定要尽可能的还原效果图,在追求还原度的同时一定要考虑性能与用户体验,使页面既有美感同时 尽可能的轻量简洁。
以上所述是小编给大家介绍的CSS3动画特效在活动页中的应用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关内容
- 如何用border-image实现文字气泡边框的示例代码
- CSS实现放大缩小关闭按钮(实例代码)HTML5+CSS3内置功能按钮提示框带有关闭小图标CSS3多颜色带图标提示插件可点击关闭按钮来关闭
- css复杂选择器及css字体样式、颜色属性详解css3的focus-within选择器的使用CSS选择器中的正则表达式使用巧用CSS属性值正则匹配选择器(小技巧)css选择器四大类:基本、组合、属性、伪类详解如何使用CSS3中的结构伪类选择器和伪元素选择器CSS3 新增选择器的实例css3 伪类选择器快速复习小结CSS 样式的使用方式、选择器 盘点CSS Selectors Level4中新增的选择器CSS 中的六个重要选择器(三秒就可以记住)
- 深入理解CSS中的数学表达式calc()css3中的calc函数浅析巧用CSS3的calc()宽度计算做响应模式布局的方法CSS3 calc()会计算属性详解详解CSS 3 中的 calc() 方法浅谈css3中calc在less编译时被计算的解决办法CSS3 Calc实现滚动条出现页面不跳动问题 CSS3的calc()做响应模式布局的实现方法CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
- CSS3实现网站商品展示效果图HTML5+CSS3:3D展示商品信息示例
- CSS中使用文本阴影与元素阴影效果css3中less实现文字长阴影(long shadow)CSS 实现多彩、智能的阴影效果
- 移动端自适应样式之@media的使用方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS实现ul和li横向排列的两种方法HTMl中标签中li横向排列的实现示例css实现图片横向排列滚动效果让几个横向排列的浮动子div居中显示的方法让横向排列的几个浮动(float:left)的子div居中显示CSS的ul和li实现横向排列和去掉li的点
- CSS 实现侧滑显示留言面板的网页组件功能ai怎么使用CSS属性面板?Dreamweaver中CSS面板该怎么设置?纯css3制作网站后台管理面板
- CSS控制网页背景颜色的代码纯CSS3实现网页背景音乐动画代码CSS实现网页背景图片自适应全屏的方法用网页技术CSS实现网页背景渐变的四种代码设置CSS 网页背景渐变实现代码CSS3教程(5):网页背景图片

