CSS 动画实现动态气泡背景的方法
建站知识 2021-07-03 08:42www.168986.cn长沙网站建设
今天是节后上班第一天,早上醒来一睁眼,嗯?啊...?什么...?这是哪?我是谁?上什么班?
然鹅,还是被昨晚特意设置的八个闹钟:alarm_clock:吵醒,冬天早上起床的难度...想必各位都心有体会 :sob:,抱着一万个不情愿起床早早地来到了办公室,还是熟悉的环境,还是熟悉的味道。。。
还有,熟悉的任务需求:joy:。
今天的第一个任务是写个登录页面,老大给了我一个参(chao)考(xi)案例,大家点击链接就能看到。嗯,这个登录页面确实很简洁、大方,尤其是它的气泡背景,第一反应这应该是张动态图片,打开审查元素才发现原来这是用代码写的,一下子激起了宝宝的好奇心,所以也试着写了一个带气泡背景的登录页面,效果如下
emm...为什么上传的 gif 动态图总是这么小,来补张截图
(大家可以自行脑补这些背景气泡往上升的画面 :sob:)
只需一些简单的代码就可以实现这样的效果,
我们先定义10个 li 列表标签,我用的是 vue 框架
<ul class="bg-bubbles"> <li v-for="(item, index) in bubbles" :key="index"></li> </ul>
created() { this.bubbles.length = 10; },
样式是用 less 编写的
.bg-bubbles { position: absolute; // 使气泡背景充满整个屏幕 : 0; left: 0; width: 100%; height: 100%; li { position: absolute; // bottom 的设置是为了营造出气泡从页面底部冒出的效果; bottom: -160px; // 默认的气泡大小; width: 40px; height: 40px; background-color: rgba(255, 255, 255, 0.15); list-style: none; // 使用自定义动画使气泡渐现、上升和翻滚; animation: square 15s infinite; transition-timing-function: linear; // 分别设置每个气泡不同的位置、大小、透明度和速度,以显得有层次感; &:nth-child(1) { left: 10%; } &:nth-child(2) { left: 20%; width: 90px; height: 90px; animation-delay: 2s; animation-duration: 7s; } &:nth-child(3) { left: 25%; animation-delay: 4s; } &:nth-child(4) { left: 40%; width: 60px; height: 60px; animation-duration: 8s; background-color: rgba(255, 255, 255, 0.3); } &:nth-child(5) { left: 70%; } &:nth-child(6) { left: 80%; width: 120px; height: 120px; animation-delay: 3s; background-color: rgba(255, 255, 255, 0.2); } &:nth-child(7) { left: 32%; width: 160px; height: 160px; animation-delay: 2s; } &:nth-child(8) { left: 55%; width: 20px; height: 20px; animation-delay: 4s; animation-duration: 15s; } &:nth-child(9) { left: 25%; width: 10px; height: 10px; animation-delay: 2s; animation-duration: 12s; background-color: rgba(255, 255, 255, 0.3); } &:nth-child(10) { left: 85%; width: 160px; height: 160px; animation-delay: 5s; } } // 自定义 square 动画; @keyframes square { 0% { opacity: 0.5; transform: translateY(0px) rotate(45deg); } 25% { opacity: 0.75; transform: translateY(-400px) rotate(90deg) } 50% { opacity: 1; transform: translateY(-600px) rotate(135deg); } 100% { opacity: 0; transform: translateY(-1000px) rotate(180deg); } } }
至此,一个气泡背景图就完成了。回过头来看,确实不难,但也愈来愈让人感受到 css 动画的魅力和强大 :relaxed:。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:css3动画过渡实现鼠标跟随导航效果
下一篇:CSS3 calc()会计算属性详解
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键