前端必学的CSS3波浪效果演示

以下是这三种CSS3波浪效果的使用说明

  1. 使用translateXtranslateZ属性创建波浪效果:

使用场景:

  • 适用于需要在X轴上平移和在Z轴上应用3D变换的波浪效果。
  • 可以用于创建具有起伏效果的海浪、水面波纹等效果。

优点:

  • 通过3D变换,可以实现更加真实的波浪效果。
  • 可以通过调整translateXtranslateZ的值来控制波浪的形状和速度。

缺点:

  • 对于不支持CSS3 3D变换的浏览器,可能无法正常显示波浪效果。
  1. 使用border-radius属性创建波浪形状:

使用场景:

  • 适用于需要创建具有波浪形状的背景或边框效果。
  • 可以用于创建具有圆形波浪形状的按钮、卡片等元素。

优点:

  • 通过border-radius属性,可以快速创建出具有波浪形状的效果。
  • 可以通过调整border-radius的值来控制波浪的形状和曲率。

缺点:

  • 无法实现波浪的动画效果,只能创建静态的波浪形状。
  1. 使用box-shadow属性创建波浪阴影效果:

使用场景:

  • 适用于需要创建具有波浪形状的阴影效果。
  • 可以用于创建具有波浪阴影效果的卡片、图像等元素。

优点:

  • 通过box-shadow属性,可以快速创建出具有波浪阴影的效果。
  • 可以通过调整box-shadow的位置和颜色来控制波浪的形状和阴影效果。

缺点:

  • 无法实现波浪的动画效果,只能创建静态的波浪阴影效果。
  • 对于不支持CSS3 box-shadow属性的浏览器,可能无法正常显示波浪阴影效果。

根据不同的需求和浏览器兼容性要求,你可以选择适合的波浪效果来应用到你的项目中。

1. 使用translateXtranslateZ属性创建波浪效果:

<!DOCTYPE html>
<html>
<head><style>.wave {width: 400px;height: 200px;background-color: #f0f0f0;position: relative;overflow: hidden;}.wave:before {content: "";position: absolute;bottom: 0;left: 0;width: 100%;height: 50px;background: linear-gradient(to right, #4facfe, #00f2fe);transform: translate3d(0, 0, 0);animation: wave 1s infinite linear;}@keyframes wave {0% {transform: translateX(0) translateZ(0) scaleY(1);}50% {transform: translateX(-25%) translateZ(0) scaleY(0.5);}100% {transform: translateX(-50%) translateZ(0) scaleY(1);}}</style>
</head>
<body><div class="wave"></div>
</body>
</html>

在这个示例中,我们创建了一个带有波浪效果的容器。通过wave类选择器,我们设置容器的宽度、高度和背景颜色,并将其定位为相对定位,并设置overflow: hidden以隐藏超出容器的部分。

然后,我们使用:before伪元素来创建波浪效果。我们设置伪元素的位置为绝对定位,并将其放置在容器的底部。通过linear-gradient背景渐变,我们创建了一个从左到右的颜色渐变。

接下来,我们使用transform属性来实现波浪的动画效果。通过translateXtranslateZ属性,我们将伪元素在X轴上平移,并在Z轴上应用3D变换。通过scaleY属性,我们在Y轴上进行缩放,以实现波浪的起伏效果。

最后,我们使用@keyframes关键帧动画来定义波浪的动画过程。在0%、50%和100%的关键帧中,我们分别设置了不同的transform值,从而实现波浪的运动效果。

通过在浏览器中打开这个示例,你可以看到一个简单的CSS3波浪效果。你可以根据需要调整容器的大小、颜色和动画效果来创建自己的波浪效果。

2. 使用border-radius属性创建波浪形状:

<!DOCTYPE html>
<html>
<head><style>.wave {width: 400px;height: 200px;background-color: #f0f0f0;position: relative;overflow: hidden;}.wave:before {content: "";position: absolute;bottom: 0;left: 0;width: 100%;height: 50px;background: linear-gradient(to right, #4facfe, #00f2fe);border-radius: 50%;transform: translate3d(0, 0, 0);animation: wave 1s infinite linear;}@keyframes wave {0% {transform: translateX(0) translateZ(0) scaleY(1);}50% {transform: translateX(-25%) translateZ(0) scaleY(0.5);}100% {transform: translateX(-50%) translateZ(0) scaleY(1);}}</style>
</head>
<body><div class="wave"></div>
</body>
</html>

在这个示例中,我们使用border-radius属性将伪元素的形状设置为圆形,从而创建了一个波浪形状的效果。

3. 使用box-shadow属性创建波浪阴影效果:

<!DOCTYPE html>
<html>
<head><style>.wave {width: 400px;height: 200px;background-color: #f0f0f0;position: relative;overflow: hidden;}.wave:before {content: "";position: absolute;bottom: 0;left: 0;width: 100%;height: 50px;background: linear-gradient(to right, #4facfe, #00f2fe);box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);transform: translate3d(0, 0, 0);animation: wave 1s infinite linear;}@keyframes wave {0% {transform: translateX(0) translateZ(0) scaleY(1);}50% {transform: translateX(-25%) translateZ(0) scaleY(0.5);}100% {transform: translateX(-50%) translateZ(0) scaleY(1);}}</style>
</head>
<body><div class="wave"></div>
</body>
</html>

在这个示例中,我们使用box-shadow属性为伪元素添加了一个阴影效果,通过调整阴影的位置和颜色,可以创建出不同的波浪阴影效果。

这些示例只是展示了一些基本的CSS3波浪效果,你可以根据自己的需求进行调整和扩展,创造出更加独特的波浪效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内生安全构建数据存储

一、数据安全成为防护核心&#xff0c;存储安全防护不容有失 1、数据作为企业的核心资产亟需重点保护&#xff0c;数据安全已成网络空间防护核心 2、国家高度重视关键信息基础设施的数据安全&#xff0c;存储安全已成为审核重点 二、存储安全是数据安全的关键一环&#xff0c;应…

AIGC技术揭秘:探索火热背后的原因与案例

文章目录 什么是AIGC技术&#xff1f;为何AIGC技术如此火热&#xff1f;1. 提高效率与创造力的完美结合2. 拓展应用领域&#xff0c;创造商业价值3. 推动技术创新和发展 AIGC技术案例解析1. 艺术创作&#xff1a;生成独特的艺术作品2. 内容创作&#xff1a;实时生成各类内容3. …

SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系

SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 1 SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 1 SolidWorks不能使用选择如允许此选择将生成有冲突的前后关系 https://www.swrjzxw.com/1556.html SolidWorks装配体时 显示 不能使用选择如允许此选…

哪些CRM的报价公开且透明?

企业在选型时&#xff0c;会发现很多品牌的CRM系统价格并不透明&#xff0c;往往都是需要跟产品顾问沟通后才能了解。下面推荐一款价格实在的CRM系统&#xff0c;所有报价公开透明&#xff0c;那就是Zoho CRM。 Zoho CRM是什么&#xff1f; Zoho CRM是一款在线CRM软件&#x…

NAS相关

Debian11 更换软件源 备份 #备份软件源列表 cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑sources.list nano /etc/apt/sources.list替换文件内容 deb http://mirrors.163.com/debian/ bullseye main non-free contrib deb http://mirrors.163.com/debian/ bull…

SAP BAPI 创建/修改MD61/MD62计划独立需求预测

MD61 创建&#xff1a; BAPI: BAPI_REQUIREMENTS_CREATE CLEAR: lv_error,ls_requirements_item,lt_requirements_schedule_in,ls_requirements_schedule_in,lt_return_n,ls_return_n,lv_reqmtsplannumber."工厂ls_requirements_item-plant lv_werks."MRP AR…

pytorch模型加载caffe模型的权重

一、将caffe模型的权重转成dict格式 caffe库的编译可以参考我之前写的一篇博客&#xff1a;ImportError: dynamic module does not define module export function (PyInit__caffe)问题解决记录_chen_zn95的博客-CSDN博客 安装好后使用以下脚本便可将caffe模型的参数名和参数…

分布式测试插件 pytest-xdist 使用详解

目录 使用背景&#xff1a; 使用前提&#xff1a; 使用快速入门&#xff1a; 使用小结&#xff1a; 使用背景&#xff1a; 大型测试套件&#xff1a;当你的测试套件非常庞大&#xff0c;包含了大量的测试用例时&#xff0c;pytest-xdist可以通过并行执行来加速整体的测试过…

js中的break和continue中的区别

js中break和continue有着一些差别。 首先&#xff0c;虽然break和continue都有跳出循环的作用&#xff0c;但break是完全跳出循环&#xff0c;而continue则是跳出一次循环&#xff0c;然后开启下一次的循环。 下面我就来举几个例子吧。 var num 0;for(var i 1;i < 10;i){i…

如何使用ChatGPT设计LOGO,只需知道品牌名字就能完成傻瓜式操作

​独特且引人注目的LOGO对于引导用户/消费者快速识别并与你建立联系至关重要。然而&#xff0c;聘请专业的设计师来创建个性化LOGO可能非常昂贵。这里可以使用使用ChatGPT。[1] 你只需要&#xff1a; 准备好公司名称&#xff1b; 能用ChatGPT&#xff0c;用来给BingChat喂log…

学习总结(TAT)

好久都没交总结了&#xff0c;今天把之前的思路和错误整理了一下&#xff1a; 在服务器和客户端两侧&#xff0c;不可以同时先初始化获取输入流&#xff0c;否则会造成堵塞&#xff0c;同时为这位作者大大打call&#xff1a; (3条消息) 关于Java Socket和创建输入输出流的几点…

一、安全世界观

文章目录 1、 Web安全简史1.1 中国黑客简史1.2 黑客技术的发展历程1.3 web安全的兴起 2、黑帽子、白帽子3、安全的本质4、安全三要素5、如何实施安全评估5.1 资产等级划分5.2 威胁分析5.3 风险分析5.4 设计安全方案 6、白帽子兵法6.1 Secure By Default6.2 纵深防御原则6.3 数据…

java的junit之异常测试、参数化测试、超时测试

1.对可能抛出的异常进行测试 异常本身是方法签名的一部分测试错误的输入是否导致特定的异常 summary 测试异常可以使用Test(expectedExceptio.class)对可能发生的每种类型的异常进行测试 2.参数化测试 如果待测试的输入和输出是一组数据&#xff1a; 可以把测试数据组织起…

Oracle时间查询使用笔记:sysdate用法

Oracle的sysdate用法 通常会有 sysdate - 1 / 12这种&#xff0c;或者sysdate - 1 / 24/3 这两种用法,表示从当前时间往前推若干时间 下面就用sysdate - A/B,sysdate - A/B/C代替 第一种 sysdate - A/B型&#xff0c;这种结果是小时&#xff0c;A代表天数&#xff0c;B代表小时…

学习51单片机怎么开始?

学习的过程不总是先打好基础&#xff0c;然后再盖上层建筑&#xff0c;尤其是实践性的、工程性很强的东西。如果你一定要先全面打好基础&#xff0c;再学习单片机&#xff0c;我觉得你一定学不好&#xff0c;因为你的基础永远打不好&#xff0c;因为基础太庞大了&#xff0c;基…

Spring AOP 切点表达式

参考博客&#xff1a; 参考博客

Oracle 知识篇+会话级全局临时表在不同连接模式中的表现

标签&#xff1a;会话级临时表、全局临时表、幻读释义&#xff1a;Oracle 全局临时表又叫GTT ★ 结论 ✔ 专用服务器模式&#xff1a;不同应用会话只能访问自己的数据 ✔ 共享服务器模式&#xff1a;不同应用会话只能访问自己的数据 ✔ 数据库驻留连接池模式&#xff1a;不同应…

探索数据之美:初步学习 Python 柱状图绘制

文章目录 一 基础柱状图1.1 创建简单柱状图1.2 反转x和y轴1.3 数值标签在右侧1.4 演示结果 二 基础时间线柱状图2.1 创建时间线2.2 时间线主题设置取值表2.3 演示结果 三 GDP动态柱状图绘制3.1 需求分析3.2 数据文件内容3.3 列表排序方法3.4 参考代码3.5 运行结果 一 基础柱状图…

谷粒商城第十二天-基本属性销售属性管理功能的实现

目录 一、总述 二、前端部分 三、后端部分 四、总结 一、总述 前端的话&#xff0c;依旧是直接使用老师给的。 前端的话还是那些增删改查&#xff0c;业务复杂一点的话&#xff0c;无非就是设计到多个字段多个表的操作&#xff0c;当然这是后端的事了&#xff0c;前端这里…

Nodejs安装及环境变量配置(修改全局安装依赖工具包和缓存文件夹及npm镜像源)

本机环境&#xff1a;win11家庭中文版 一、官网下载 二、安装 三、查看nodejs及npm版本号 1、查看node版本号 node -v 2、查看NPM版本号&#xff08;安装nodejs时已自动安装npm&#xff09; npm -v 四、配置npm全局下载工具包和缓存目录 1、查看安装目录 在本目录下创建no…