独星球特效本身没有什么难点,但如果要加入音轨控制星球运动频率就有点麻烦了,后面我会专门开一篇文章讲解如何使用js去解析mp3的音轨并制作动画特效,这里呢就稍微简单点了,既然是纯CSS3,星球运动频率就设为固定的好了。

HTML代码:

<div id="effect-music"><div class="image"></div><div class="wave"></div><div class="wave"></div><div class="wave"></div><div class="wave"></div>
</div>
web前端开发学习Q-q-u-n: 731771211,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法
(详细的前端项目实战教学视频,PDF)

CSS3代码

#effect-music {position: relative;margin: auto;width: 100%;height: 400px;overflow: hidden;
}#effect-music > .image {position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;width: 200px;height: 200px;background: url(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1575820971101&di=935fabf797c3b30f45f7ed90666f9399&imgtype=0&src=http%3A%2F%2Fimglf1.ph.126.net%2FJceVstVIHMeAlbMvdbYwlA%3D%3D%2F2456713596830921578.jpg);background-size: cover;background-position: center center;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;-ms-border-radius: 50%;-o-border-radius: 50%;animation: rotate 10s linear 0s infinite;-webkit-animation: rotate 10s linear 0s infinite;
}#effect-music > .wave {position: absolute;opacity: 0;left: 0;right: 0;top: 0;bottom: 0;margin: auto;width: 204px;height: 204px;border-radius: 50%;border: 2px solid #eee;animation: wave 4s linear 0s infinite;-webkit-animation: wave 4s linear 0s infinite;
}#effect-music > .wave::after {content: "";position: absolute;top: -4px;left: 50%;width: 6px;height: 6px;overflow: hidden;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px;-ms-border-radius: 5px;-o-border-radius: 5px;background-color: #ccc;
}#effect-music > .wave:nth-child(2) {animation-delay: 1s;
}#effect-music > .wave:nth-child(3) {animation-delay: 2s;
}#effect-music > .wave:nth-child(4) {animation-delay: 3s;
}@keyframes rotate {from {transform: rotate(0deg);-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);-o-transform: rotate(0deg);}to {transform: rotate(360deg);-webkit-transform: rotate(360deg);-moz-transform: rotate(360deg);-ms-transform: rotate(360deg);-o-transform: rotate(360deg);}
}@keyframes wave {from {opacity: 1;transform: rotate(0deg) scale(1);-webkit-transform: rotate(0deg) scale(1);-moz-transform: rotate(0deg) scale(1);-ms-transform: rotate(0deg) scale(1);-o-transform: rotate(0deg) scale(1);}to {opacity: 0;transform: rotate(-300deg) scale(2.2);-webkit-transform: rotate(-300deg) scale(2.2);-moz-transform: rotate(-300deg) scale(2.2);-ms-transform: rotate(-300deg) scale(2.2);-o-transform: rotate(-300deg) scale(2.2);
}
}

知识点提炼

  1. 这里一共设置了4个div,用来做外围的星球旋转效果,我们通过animation-delay均匀分散开4个div的动画执行时间,达到循环往复的效果。
  2. 旋转星球是用:after伪元素制作的,每次设置为div顶部中间位置,这样能保证星球旋转一直处于圆周轨迹上,这里你可以思考一下,如果起始位置不在顶部,这个CSS该怎么写?
  3. 某些浏览器在设置了border-radius的情况下,border依然显示为方框,这种情况可以使用box-shadow去模拟border,你可以亲手尝试一下。

最后说一句,孤独星球这个动效听着音乐看比较带感(因为版权问题,这里没有放web音乐),但这个动画是写死频率的,快歌慢歌都是一个节奏,若要让动画跟随音乐联动,我们需要用js解析mp3的音轨,后面会有文章补上,敬请期待!

纯CSS3仿网易云孤独星球特效相关推荐

  1. 用HTML+CSS仿网易云音乐网站(6个页面)_实训素材

    ⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | 音乐网页设计 | 仿网易云音乐 | 各大音乐官网网页 | 明星 ...

  2. 仿网易云音乐(微信小程序版)

    项目部分截图(Gif) 前言 前一阵子学习了微信小程序,为了巩固所学的知识和提高实战经验,决定自己手撸一款小程序.因为听歌一直在用网易云音乐,所以突发奇想就做一款仿网易云音乐的小程序吧!开发中遇到了很 ...

  3. 仿网易云官网轮播图 html+css+js

    效果: 可自动轮播,左右箭头按钮和下方小圆点可切图,鼠标移入时停止自动轮播. 视频演示: [html+css+js]仿网易云轮播图 实现(后面有完整源码): 1. 定义标签,看注释: <!-- ...

  4. 仿网易云音乐源码html5

    HTML5仿网易云音乐播放器特效源码是一款仿网易云音乐外链播放器UI的HTML5 APlayer音乐播放器插件的代码.APlayer音乐播放器可以自定义歌曲封面,可以自定义同步歌词等,界面时尚大方,是 ...

  5. 仿网易云音乐播放列表、皮肤样式、歌词滚动、轮播图等

    前言: 今天是我第二次写博客,打算把以前做过的一些小东西记录下来,今天介绍的是我的毕业设计<小罡音乐>是简仿网易云播放器的一些界面和播放音乐功能. 是基于ASP.NET的小罡音乐的设计与实 ...

  6. Vue2仿网易云风格音乐播放器(附源码)

    Vue2仿网易云风格音乐播放器 1.整体效果 2.使用技术 3.实现内容 4.源码 5.使用图片 1.整体效果 2.使用技术 使用了HTML5 + CSS3进行页面布局及美化 使用Vue2进行数据渲染 ...

  7. WPF仿网易云音乐系列(一、左侧菜单栏:Expander+RadioButton)

    WPF仿网易云音乐系列(一.左侧菜单栏:Expander+RadioButton) 原文:WPF仿网易云音乐系列(一.左侧菜单栏:Expander+RadioButton) 1.简介 上一篇咱们说到, ...

  8. 汉堡式折叠html,纯CSS3菜单汉堡包按钮变形动画特效

    这是一款非常有趣的纯CSS3菜单汉堡包按钮变形动画特效.该特效共有9种不同的按钮变形动画效果,这些效果都是使用CSS3帧动画完成的,效果非常的酷. 制作方法 HTML结构 该按钮变形动画使用嵌套 的H ...

  9. 仿网易云PC端项目-vue

    项目GitHub地址: wangyiMusicPlayer. wangyiMusicPlayer--这是一个仿网易云PC端的的项目(vue) 项目简介: 本项目使用的后端接口{接口文档已放在项目中,自 ...

最新文章

  1. Spring @Configuration注解及配置方法
  2. 【机器学习PAI实践四】如何实现金融风控
  3. gcc/g++命令参数笔记
  4. 【CQOI2009】叶子的颜色
  5. MySQL复习资料(一)——MySQL环境安装
  6. MTK驱动(75)--- MT6739平台的thermal高温充电机制调整
  7. python解析库详解_PyQuery库详解
  8. 怎么比较字符串java_如何在Java中比较字符串?
  9. python aes加解密
  10. mui日期选择器html,MUI 移动端时间选择器
  11. wow转服务器微信支付,魔兽打团本成就,打到一半,发微信支付宝要钱,真国服之耻!...
  12. ES5 Array新方法reduce()  数组累加
  13. 防复制防破解小区门禁梯控升级非联网CPU卡脱机写卡门禁梯控一卡通系统92HID623CPU V5.00操作说明之设备与楼栋单元设置
  14. vue中新增弹出对话框操作
  15. sklearn中predict()与predict_proba()返回值意义
  16. Android 编程实用代码大全
  17. OpenGL版本查看
  18. 警醒——规划好自己的IT之路
  19. 深度剖析陈晓和贝恩之阴谋
  20. 网络安全及网络安全评估的脆弱性分析

热门文章

  1. java实习心得总结(八篇)
  2. java中使用常见的几种监听器实现一种形似“水滴”的图形
  3. 完全删除CAD残留,告别“已安装”
  4. 云游戏 x 文旅元宇宙,元境2022云栖大会尽展技术魅力
  5. 隐藏 video标签的下载按钮
  6. javascript 函数节流 throttle 解决函数被频繁调用、浏览器卡顿的问题
  7. VS安装后如何添加工作负载
  8. [js]取整,四舍五入,数字字符串转换
  9. 电脑如何用计算机,如何用计算机记录
  10. 【Python 机器学习实战】Logistic回归