标签,里面用
元素来定义波浪的路径。比如下面这段代码,就是一个简单的波浪雏形:<svg viewBox="0 0 1920 200" preserveAspectRatio="none">
<path d="M0,100 Q300,150 600,100 T1920,100" fill="#00BFFF">path>
svg>
d
属性的值,它定义了路径的走向。Q
代表二次贝塞尔曲线,后面跟着控制点坐标和终点坐标。新手可能会问:“这些数字怎么调才能改变波浪形状呢?” 别急,咱一个一个参数来拆解。150
就是控制点的 Y 坐标,数值越大,波浪越高。比如改成 Q300,200
,波浪中间就会抬得更高,看起来更 “汹涌”。要是想让波浪平缓一些,就把数值调低,比如 Q300,50
,这样波浪就变得柔和了。300
改成 200
,意味着两个波峰之间的距离变短,波浪会更密集;改成 400
呢,波浪就会稀疏一些。实际使用时,可以根据网页的宽度和设计风格来调整,比如宽屏网页适合波长较长的波浪,手机端可能更适合密集一点的小波浪。M0,100 Q150,150 300,100 Q450,50 600,100 T1920,100
,这里加了两个 Q
指令,就会出现两个波峰和波谷,波浪看起来更有层次感。新手刚开始可能记不住这些参数,没关系,多试几次就能找到感觉了。@keyframes
定义动画,让波浪的路径发生偏移。比如:@keyframes wave-move {
0% { d: "M0,100 Q300,150 600,100 T1920,100"; }
100% { d: "M-1920,100 Q-1620,150 -1320,100 T0,100"; }
}
元素加上动画属性:<path d="M0,100 Q300,150 600,100 T1920,100" fill="#00BFFF" animation="wave-move 10s linear infinite">path>
10s
是比较常见的速度,太快或太慢都会影响视觉体验。
元素,然后通过 setAttribute
方法修改 d
属性的值。比如用户滚动到某个位置时,让波浪振幅变大:const wavePath = document.querySelector('path');
window.addEventListener('scroll', () => {
const scrollY = window.scrollY;
wavePath.setAttribute('d', `M0,${ + scrollY * 0.1} Q300,${ + scrollY * 0.1} 600,${ + scrollY * 0.1} T1920,${ + scrollY * 0.1}`);
});
fill
属性直接设置单色,也可以用
来创建渐变。
标签里添加
定义渐变,比如:<svg viewBox="0 0 1920 200" preserveAspectRatio="none">
<defs>
<linearGradient id="waveGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#00FFFF;">stop>
<stop offset="100%" style="stop-color:#0000FF;">stop>
linearGradient>
defs>
<path d="M0,100 Q300,150 600,100 T1920,100" fill="url(#waveGradient)">path>
svg>
x1
、y1
和 x2
、y2
定义了渐变的方向,比如垂直渐变就调整 Y 坐标,水平渐变调整 X 坐标。
:<radialGradient id="radialWave" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#FF6666;">stop>
<stop offset="100%" style="stop-color:#FF0000;">stop>
radialGradient>
viewBox="0 0 1920 200"
和 preserveAspectRatio="none"
,viewBox
定义了 SVG 的视口范围,preserveAspectRatio="none"
表示不保持宽高比,这样 SVG 会自动拉伸填满容器,波浪形状也会跟着缩放,不会变形。function updateWave() {
const width = window.innerWidth;
const path = `M0,100 Q${width/},150 ${width},100 T${width*1.5},100`;
wavePath.setAttribute('d', path);
}
window.addEventListener('resize', updateWave);
updateWave();
Q
指令,除非设计上有特殊需求。
,然后重复引用,减少代码冗余。比如:<defs>
<symbol id="wave" viewBox="0 0 1920 200">
<path d="M0,100 Q300,150 600,100 T1920,100">path>
symbol>
defs>
<use xlink:href="#wave">use>
60fps
降到 30fps
,在视觉效果和性能之间找到平衡。viewBox
和 preserveAspectRatio
。确保 viewBox
的宽高比和实际波浪的宽高比一致,比如波浪设计时是 1920x200,容器宽度变化时,SVG 会自动按比例缩放,不会变形。如果不需要保持比例,就设置 preserveAspectRatio="none"
,但这时候波浪可能会被拉伸,需要根据设计需求选择。
或
是否定义在
标签里,并且 fill
属性是否正确引用了渐变 ID,比如 fill="url(#waveGradient)"
,注意 ID 要和定义的一致,不能有拼写错误。requestAnimationFrame
来优化性能,避免频繁重绘。🔍 朱雀 AI 检测 2025 新版教程:如何快速上手企业级应用? 在 AI 生成内容泛滥的当下,企业对内容真实性和合规性的需求愈发迫切。腾讯混元安全团队推出的朱雀 AI 检测 2025 新版,凭借
📌 用户体验与广告收益的博弈:找到临界点是关键用户体验和广告收益不是非此即彼的死对头,但也绝对不是能随便捏合的亲兄弟。太多人觉得要么拼命加广告赚快钱,要么完全放弃广告保体验,这两种想法都太极端了。
🧠 公式不是堆砌词藻,是认知框架的压缩包 你以为顶级 Prompt 工程师靠的是记住几百个模板?错了。他们真正厉害的是把复杂认知拆解成可复用的框架。就像厨师不会只记菜谱,而是掌握火候、调味比例这些底
🎯 把 AI 当成 “算命先生”—— 指令模糊到让 AI 猜心思 新手用 AI 最容易犯的错,就是把 prompt 写得像猜谜。比如想让 AI 写一篇 “短视频运营技巧”,就只扔一句 “给我点短视频
?双机位布置:打造360°无死角面试环境力扣模拟面试的双机位要求让不少同学犯难,其实把它想象成给电脑装个「监控搭档」就简单了。主机位就是咱们平时用的电脑摄像头,记得调整到能露出整张脸和桌面的角度——下巴别藏在阴影里,键盘也别只露出半个。副机位一般用手机支架固定,放在身体侧后方45度角,这个位置既能拍
?精准提分黑科技!ExamifyAI如何重塑2025考试备考模式?一、核心功能大揭秘:AI如何让考试准备更高效?ExamifyAI作为新一代智能考试平台,最吸引人的地方就是它的自适应学习引擎。这个系统就像一个贴心的私人教练,能根据你的答题数据自动调整学习路径。比如你在数学几何题上错误率高,系统会优先
你可能觉得公众号注册就是填几个信息的事,殊不知,这里面的每个选择都像蝴蝶扇动翅膀,未来三年的运营轨迹可能就被悄悄改变了。很多人刚开始没当回事,等到后面想调整,才发现处处受限,那叫一个后悔。今天就跟你好好聊聊,注册时那些看似不起眼的选择,到底能给未来的运营带来多大影响。📌账号类型选不对,三年运营路难
上周帮同事核查一篇AI写的行业报告,发现里面把2023年的用户增长率写成了2025年的预测数据。更离谱的是,引用的政策文件号都是错的。现在AI生成内容速度快是快,但这种硬伤要是直接发出去,读者信了才真叫坑人。今天就掰开揉碎了说,AI写作怎么做好事实核查,别让你的头条文章变成 误导重灾区 。📌AI写
🎯维度一:选题像打靶,靶心必须是「用户情绪储蓄罐」做内容的都清楚,10w+爆文的第一步不是写,是选。选题选不对,后面写得再好都是白搭。高手选选题,就像往用户的「情绪储蓄罐」里投硬币,投对了立刻就能听到回响。怎么判断选题有没有击中情绪?看三个指标:是不是高频讨论的「街头话题」?是不是藏在心里没说的「抽
📌135编辑器会员值不值得买?AI模板库和秀米H5谁更胜一筹?🔍135编辑器会员的核心价值解析企业级商用保障与效率提升135编辑器的企业会员堪称新媒体运营的「合规保险箱」。根据实际案例,某团队通过企业会员节省了大量设计费用,完成多篇内容创作,单篇成本从千元降至百元内。这得益于其海量正版模板和素材库,
新公众号被限流怎么办?粉丝增长影响分析及2025恢复指南🔍新公众号限流的核心原因解析新公众号被限流,往往是多个因素叠加的结果。根据2025年最新数据,超过70%的限流案例与内容质量直接相关。比如,有些新手喜欢用“震惊体”标题,像“惊!某公众号三天涨粉十万”,这类标题在2025年的算法里已经被明确标记
⚠️AI内容重复率高的3大核心原因现在用AI写东西的人越来越多,但很多人都会遇到同一个问题——重复率太高。明明是自己用工具生成的内容,一检测却显示和网上某些文章高度相似,这到底是为什么?最主要的原因是AI训练数据的重叠性。不管是ChatGPT还是国内的大模型,训练数据来源其实大同小异,都是爬取的互联
🌟135编辑器:公众号运营者的效率革命做公众号运营的朋友都知道,排版是个费时费力的活。一篇文章从内容到排版,没几个小时根本搞不定。不过现在好了,135编辑器的出现,彻底改变了这一现状。135编辑器是提子科技旗下的在线图文排版工具,2014年上线至今,已经成为国内新媒体运营的主流工具之一。它的功能非常
现在做内容的人几乎都离不开AI,但最头疼的就是原创度。平台检测一严格,那些模板化的AI文很容易被打回,甚至判定为“非原创”。但你知道吗?同样是用AI写东西,换个prompt指令词,原创度能差出天壤之别。我最近拿不同的prompt测了好几次,结果真的吓一跳——好的指令能让AI内容原创度直接从“及格线”