广告位联系
返回顶部
分享到

使用CSS实现一个雨滴滑落效果的代码

HTML/Xhtml 来源:互联网 作者:佚名 发布时间:2024-02-04 22:38:49 人浏览
摘要

下雨天坐在车窗前,看着雨滴顺着车窗渐渐落下,这一唯美的场景,忍不住想记录下来。最近在纠结电脑壁纸时,无意间看到有类似的场景,可以将自己喜欢的壁纸加上这种效果。作为

下雨天坐在车窗前,看着雨滴顺着车窗渐渐落下,这一唯美的场景,忍不住想记录下来。最近在纠结电脑壁纸时,无意间看到有类似的场景,可以将自己喜欢的壁纸加上这种效果。作为多年切图仔,不由地想到了用css动画应该可以实现这一效果,于是,直接开干。先上效果图:

实现思路

定义多个小水滴

首先直接使用absolute定位,只需要亿点点时间就能创造出多个分布于不同位置以及不同大小的水滴。大致代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

.border {

    position: absolute;

    margin-left: 2px;

    margin-top: 1px;

    border-radius: 100%;

    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);

    -webkit-transform: rotateY(0);

    transform: rotateY(0);

}

 .border:nth-child(1) {

    left: 10.04698vw;

    top: 91.82078vh;

    width: 2px;

    height: 7.15325px;

}

.border:nth-child(2) {

    left: 12.82745vw;

    top: 77.30419vh;

    width: 10px;

    height: 12.27636px;

}

....

最终实现了如下效果:

让水珠动起来

此时就需要用到css的animation动画效果了,又花费了亿点点时间给每个水珠加上下落的动画效果。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

.raindrop:nth-child(1) {

    left: 10.04698vw;

    top: 91.82078vh;

    width: 6px;

    height: 7.15325px;

    background-position: 10.04698% 91.82078%;

    -webkit-animation: 3.10099s falling 0.3s ease-in infinite;

    animation: 3.10099s falling 0.3s ease-in infinite; //动画时间每个水珠不一样

}

@keyframes falling {

    to {

        -webkit-transform: translateY(500px);

        transform: translateY(500px);

    }

}

注意,由于每个小水珠距离底部的位置不同,所以下落的动画时间也要随着高度的不同动态调整

增加背景模糊

为了模拟玻璃上的效果,我们加上背景图,并配置一定的模糊效果,此时用到filter: blur(20px);实现高斯模糊效果。

1

2

3

4

5

6

7

8

9

10

.window {

    position: absolute;

    width: 100vw;

    height: 100vh;

    background: url("1.jpg");

    background-size: cover;

    background-position: 50%;

    -webkit-filter: blur(10px);

    filter: blur(10px);

}

一顿操作下来,实现的效果如下:

有没有发下少了点什么,这个水珠效果也太假了,那么接下来,我们就去把这个圈做的更像水珠。

制作水珠效果

想象一下,透过水珠看外面会是什么样的吗,背景是不是都会映射在水珠上,并且随着水珠的移动,会发生不同的折射效果。那么,我们只用在每个水珠上加上对应背景的高清照,而且给背景加上旋转的动画效果,并给它一点点高光,能呈现出立体的感觉出来。直接上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

.raindrop {

    position: absolute;

    border-radius: 100%;

    background-image: url("1.jpg");

    background-size: 5vw 5vh;

    background-position: 50%;

    -webkit-transform: rotate(180deg) rotateY(0);

    transform: rotate(180deg) rotateY(0);

}

.raindrop:nth-child(1) {

    left: 10.04698vw;

    top: 91.82078vh;

    width: 6px;

    height: 7.15325px;

    background-position: 10.04698% 91.82078%;

    -webkit-animation: 3.10099s falling 0.3s ease-in infinite;

    animation: 3.10099s falling 0.3s ease-in infinite;

}

....

和之前写水珠一样,需要造一个同样的更灵动的水珠伴随着原来的一起下落,改变每个水珠的background-position 来实现不同的折射效果,filter: brightness(1.2);实现水珠的高光效果。

总结

通过以上一顿操作,最终实现了开头的效果,其实本文用到的技术和动画效果并不多,更多的是不停地造小水珠????。我如愿地将自己喜欢的壁纸加上了这个动画效果,当然刚看到这个效果我也没有想到通过css也能如此轻松的实现,更多炫酷的css效果我再去研究研究,分享给各位看官,前端的尽头是css啊???? 。

源码地址:https://gitee.com/fcli/rain.git


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • HTML中使用Flex布局实现双行夹批效果

    HTML中使用Flex布局实现双行夹批效果
    古代小说中经常有评点和批注,为了区别正文和批注,一般将批注排版成双行夹批的形式。我们知道,在Word中只需要先选择批注文字,然后
  • 使用CSS实现一个雨滴滑落效果的代码

    使用CSS实现一个雨滴滑落效果的代码
    下雨天坐在车窗前,看着雨滴顺着车窗渐渐落下,这一唯美的场景,忍不住想记录下来。最近在纠结电脑壁纸时,无意间看到有类似的场景
  • HTML+CSS实现全景轮播

    HTML+CSS实现全景轮播
    效果演示 实现了一个简单的网页布局,其中包含了五个不同的盒子,每个盒子都有一个不同的背景图片,并且它们之间有一些间距。当鼠标
  • HTML+CSS实现炫酷登录切换

    HTML+CSS实现炫酷登录切换
    效果演示 实现了一个登录注册页面的切换效果,当用户点击登录或注册按钮时,会出现一个叠加层,其中包含一个表单,用户可以在表单中
  • 圣诞节制作一颗HTML的圣诞树介绍

    圣诞节制作一颗HTML的圣诞树介绍
    来到圣诞节了,那么就可以制作一颗HTML的圣诞树送给朋友,没有编程基础的小白也可以按照步骤操作也可以运行起来代码的 一、vscode里面运
  • 将html的radio单选框自定义样式为正方形和对号的

    将html的radio单选框自定义样式为正方形和对号的
    将html的radio单选框自定义样式为正方形和对号 背景: 如何能把html的input type=radio name=option改成自定义的样式呢?比如想要把他变成正方形,
  • HTML文档类型声明标签介绍(入门级教程)

    HTML文档类型声明标签介绍(入门级教程)
    一、文档类型声明标签 /DOCTYPE其作用就是告诉浏览器使用哪种HTML版本来显示网页。 代码:/DOCTYPE html的意思是采用HTML5版本来显示网页 需要
  • HTML介绍以及常用代码总结介绍

    HTML介绍以及常用代码总结介绍
    HTML 网页基础 html(Hyper Text Markup Language)超文本标 记语言,发明者: Tim Berners-lee html主要是定义网页内容和结构的。html是编 写网页的语言。
  • HTML嵌入CSS样式的四种实现方法

    HTML嵌入CSS样式的四种实现方法
    CSS 样式既可以作为单独的文件(.css类型的文件)引入到 HTML 文档中,也可以直接写在 HTML 文档中,大致分为如下四种方法: 行内样式:使
  • html中的target属性介绍

    html中的target属性介绍
    target target属性可选四种属性值 1、target=_self, 它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。(此处就是实现你的每次跳转
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计