好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

效果

效果如下

& # 8203;

实现思路

使用box -s hadow属性画几个灰色的 圆 ,将这些圆错落的组合在一起,形成乌 云 图案 after伪元素写乌云下的投影 增加动画

dom结构

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

&nbs p;

<div class="cont ai ner">
    <div class="cloudy"></div>
</div>

css样式

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

body{
    background: rgba(73, 74, 95, 1);
}
.container{
    width: 170px;
    h ei ght: 170px;
    pos IT ion: relative;
    m arg in: 250px auto;
}

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

.cloudy{
    width: 50px;
    height: 50px;
    position: absolute;
    top: 70px;
    left: 80px;
    mar gin -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 -i n-out infinite;
}
@keyfr am es 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实现乌云密布的天气图标效果, 希望对大家有所帮助 ,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你 觉得 本文对你有帮助,欢迎 转载 ,烦请注明出处,谢谢!

总结

以上是 为你收集整理的 纯css实现乌云密布的天气图标效果 全部内容,希望文章能够帮你解决 纯css实现乌云密布的天气图标效果 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于纯css实现乌云密布的天气图标效果的详细内容...

  阅读:22次