温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

纯css如何实现乌云密布的天气图标效果

发布时间:2021-03-18 14:18:46 来源:亿速云 阅读:259 作者:小新 栏目:web开发

这篇文章主要介绍纯css如何实现乌云密布的天气图标效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

效果

效果如下

纯css如何实现乌云密布的天气图标效果

实现思路

  1. 使用box-shadow属性画几个灰色的圆,将这些圆错落的组合在一起,形成乌云图案

  2. after伪元素写乌云下的投影

  3. 增加动画

dom结构

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

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

css样式

1、父容器样式,顺便给整个页面加一个背景色,方便预览

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

2、乌云的样式,乌云有一个上下移动的动画。这儿关键是box-shadow属性的使用,白色的话就可以当作多云的天气图标啦~

.cloudy{     width: 50px;     height: 50px;     position: absolute;     top: 70px;     left: 80px;     margin-left: -60px;     background: #ccc;     border-radius: 50%;     box-shadow: #ccc 65px -10px 0 -5px,         #ccc 25px -25px,         #ccc 30px 10px,         #ccc 60px 15px  0 -10px,         #ccc 85px 5px 0 -5px;     animation: cloudy 5s ease-in-out infinite; } @keyframes cloudy{     50%{         transform: translateY(-20px);     } }

3、投影的样式,可以使用after伪元素,别忘了同样是有移动动画的

.cloudy::after{     content: '';     width: 120px;     height: 15px;     position: absolute;     bottom: -60px;     left: 5px;     background: #000;     border-radius: 50%;     opacity: 0.2;     animation: cloudy-shadow 5s ease-in-out infinite;     transform: scale(0.7); } @keyframes cloudy-shadow{     50%{         transform: translateY(20px) scale(1);         opacity: 0.05;     } }

OK,搞定。按着步骤来,你也可以在你的页面上实现乌云的天气图标咯~

以上是“纯css如何实现乌云密布的天气图标效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI