css海浪动画代码,不行一行代码,纯css实现海浪动态效果!

news/2024/7/8 1:45:02

直入主题:首先画一个简单的盒子:

8f927b8791d778ab78fb817690d9c98f.png

利用::before与::after画两个圆角值(radius)不同的不规则圆形:

f1ef0a73cd3c50ef044d26668b761efd.png

父元素设置overflow: hidden

89f9725c9437f6a95360a5b2636a7c09.png

最后加上animation动画让两个不规则圆形旋转起来即可

代码

html

scss// 简单的盒子

.wave {

position: relative;

width: 150px;

height: 150px;

background-color: #5291e0;

overflow: hidden;

// 两个不规则圆形(相对盒子进行定位,距离底部距离则为波浪高度)

&::before,

&::after {

content: "";

position: absolute;

left: 50%;

bottom: 15%;

width: 500%;

height: 500%;

border-radius: 45%;

background-color: #fff;

transform: translateX(-50%); // 居中

animation: rotate 15s linear infinite;

}web前端开发学习Q-q-u-n: 784783012 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)

// 其中一个不规则圆形调整一下样式,以便区分(或者调整animation的参数来区分)

&::before {

bottom: 10%;

opacity: .5;

border-radius: 47%;

}

}

}

// 旋转动画

@keyframes rotate {

from {

transform: translateX(-50%) rotateZ(0deg);

}

to {

transform: translateX(-50%) rotateZ(360deg);

}

}

)

总结

效果图第一眼看上去,让"蓝色"部分动起来,真的很难,所以采用逆向思维,直接操控"白色"部分再来个overflow: hidden成功偷梁换柱,舒服得很。


http://lihuaxi.xjx100.cn/news/268199.html

相关文章

告别无止境的增删改查:Java代码生成器

对于一个比较大的业务系统,我们总是无止境的增加,删除,修改,粘贴,复制,想想总让人产生一种抗拒的心里。那有什么办法可以在正常的开发进度下自动生成一些类,配置文件,或者接口呢&…

谷歌提出「卷积+注意力」新模型,超越ResNet最强变体!

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达丰色 发自 凹非寺量子位 报道 | 公众号 QbitAITransformer跨界计算机视觉虽然已取得了一些不错的成绩,但大部分情况下,它还是落后于最先进的卷积网络…

掌贝获2000万美元B+轮融资,和智投资领投、味千中国和金沙江创投跟投

2月20日消息,掌贝近日宣布完成由和智投资领投、味千中国和金沙江创投跟投的2000万美金B轮融资。 掌贝为零售业和服务业的实体店提供数字化运营平台及服务,其数字化运营平台是实体店新一代的商业智能操作系统,帮助实体店实现人、货、场的连接…

NYOJ 93

汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝…

Linux之终端命令格式的组成

Linux之终端命令格式的组成 1. 终端命令格式说明 command [-options] [parameter] 【一般情况下这两项是可以调换位置的】 每项信息的说明: command:命令名, 比如: ls、pwd[-options]:选项,可以有零个、一个或者多个选项,多个…

python Counter类

import collections obj collections.Counter(aabbccc) print(obj)#输出:Counter({c: 3, a: 2, b: 2})elements() import collections obj collections.Counter(aabbccc) print(sorted(obj.elements()))#输出:[a, a, b, b, c, c, c]for k in obj.eleme…

RTP timestamp与帧率及时钟频率的关系

https://blog.csdn.net/jasonhwang/article/details/7316128 本文链接

调用短信接口,先var_dump()看数据类型是object需要json_decode(json_encode( $resp),true)转换成array...

返回的数据.先看类型,如果是object类型 先json_encode, 再json_decode,加true 转换成数组 $resp $c->execute($req); var_dump($resp); object(stdClass)#12 (2) { ["result"]> object(stdClass)#13 (3) { ["err_code"]> string(1) "0"…