效果

效果图如下

实现思路

  1. 使用box-shadow画赤橙黄绿蓝靛紫7个弧形,拼接在一起
  2. after伪元素写投影样式
  3. 彩虹和投影都有动画

dom结构

用两个嵌套的div容器,父容器来控制图标显示的位置,子容器用来写彩虹的样式。

<div class="container">
<div class="rainbow"></div>
</div>

css样式

1、定义父容器样式,控制图标位置,顺便给整个页面加个背景色,方便预览

body{
background: rgba(73,74,95,1);
} .container{
width: 170px;
height: 170px;
position: relative;
margin: 250px auto;
}

2、彩虹样式,彩虹有一个左右摇摆的动画效果

.rainbow{
width: 70px;
height: 70px;
position: absolute;
top: 70px;
left: 80px;
margin-left: -40px;
border-radius: 170px 0 0 0;
box-shadow: #fb323c -2px -2px 0 1px,
#f99716 -4px -4px 0 3px,
#fee124 -6px -6px 0 5px,
#afde2e -8px -8px 0 7px,
#6ad7f8 -10px -10px 0 9px,
#60b1f5 -12px -12px 0 11px,
#a3459b -14px -14px 0 13px;
animation: rainbow 5s ease-in-out infinite;
transform: rotate(40deg);
} @keyframes rainbow{
50%{
transform: rotate(50deg);
}
}

3、投影样式,别忘了是同样有动画的哟

.rainbow::after{
content: '';
width: 120px;
height: 15px;
position: absolute;
bottom: -23px;
left: 17px;
background: #000;
border-radius: 50%;
opacity: 0.2;
animation: rainbow_shadow 5s ease-in-out infinite;
transform: rotate(-40deg);
transform-origin: 50% 50%;
} @keyframes rainbow_shadow{
50%{
transform: rotate(-50deg) translate(10px) scale(0.7);
opacity: 0.05;
}
}

搞定,很简单有没有,跟着实现一遍,你也可以画出美丽的彩虹咯~

最新文章

  1. 使用HttpClient的优解
  2. ABP源码分析二:ABP中配置的注册和初始化
  3. 前端优化之图片延迟加载(lazyload.js)
  4. WPF依赖属性详解
  5. 钉钉开发中post异步调用问题
  6. [No000037]操作系统Operating Systems操作系统历史与硬件概况History of OS &amp; Summaries!
  7. python 测试驱动开发的简单例子
  8. ios 多线程小结----- GCD篇
  9. 【iCore3 双核心板】例程一:ARM驱动三色LED
  10. 关闭和开启oracle
  11. JS生成某个范围的随机数(四种情况)
  12. iScroll5 API速查随记
  13. Chapter Querying Data
  14. The Ninth Hunan Collegiate Programming Contest (2013) Problem A
  15. SQL Server查询所有用户表
  16. asp.net mvc Ajax服务器跳转
  17. 入门前端之HTML
  18. VirtualBox中安装Android-x86详解
  19. UVa455 Periodic String 的wronganswer问题探讨,以及AC的新思路
  20. python——函数

热门文章

  1. Markdown的最常用标记符号
  2. Spring Boot之Profile--快速搞定多环境使用与切换
  3. Python项目中的单元测试
  4. 如何在onCreate中获取View的高度和宽度
  5. 多线程之NSOperation
  6. SpringBoot电商项目实战 — Redis实现分布式锁
  7. 9407web常用符号
  8. Scala 系列(十)—— 函数 &amp; 闭包 &amp; 柯里化
  9. 初尝RabbitMQ消息队列
  10. 2019DX#3