
本文详解如何通过纯 html + css + 内联 svg 快速创建美观、自适应、无依赖的波浪形页面分隔区,适用于首页 banner 下方、章节过渡等场景,无需第三方库,兼容主流浏览器。
本文详解如何通过纯 html + css + 内联 svg 快速创建美观、自适应、无依赖的波浪形页面分隔区,适用于首页 banner 下方、章节过渡等场景,无需第三方库,兼容主流浏览器。
在现代网页设计中,波浪形(Wave)分隔区因其柔和的视觉过渡效果,被广泛用于打破平面布局的单调性。与使用 Canvas 或 JavaScript 动态绘制不同,基于 SVG 的方案更轻量、语义清晰、天然响应式,且支持 CSS 控制颜色与尺寸。
✅ 核心实现原理
波浪效果本质是一条贝塞尔路径(
- SVG 不设固定 width/height,仅保留 viewBox="0 0 1440 320"(代表原始画布尺寸);
- 外层容器用 background-color 定义底色,SVG 内部 fill 定义波浪颜色;
- 所有尺寸单位均为相对值(如 L1440,320),确保缩放不失真。
? 示例代码(可直接复用)
<!-- 波浪分隔区:白色波浪 + 品红背景 --> <div style="background: #FF0057; overflow: hidden;"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 1440 320" preserveaspectratio="none"><path fill="#ffffff" fill-opacity="1" d="M0,64L13.3,96C26.7,128,53,192,80,224C106.7,256,133,256,160,261.3C186.7,267,213,277,240,245.3C266.7,213,293,139,320,112C346.7,85,373,107,400,117.3C426.7,128,453,128,480,144C506.7,160,533,192,560,186.7C586.7,181,613,139,640,149.3C666.7,160,693,224,720,229.3C746.7,235,773,181,800,144C826.7,107,853,85,880,64C906.7,43,933,21,960,48C986.7,75,1013,149,1040,176C1066.7,203,1093,181,1120,149.3C1146.7,117,1173,75,1200,53.3C1226.7,32,1253,32,1280,69.3C1306.7,107,1333,181,1360,224C1386.7,267,1413,277,1427,282.7L1440,288L1440,320L1426.7,320C1413.3,320,1387,320,1360,320C1333.3,320,1307,320,1280,320C1253.3,320,1227,320,1200,320C1173.3,320,1147,320,1120,320C1093.3,320,1067,320,1040,320C1013.3,320,987,320,960,320C933.3,320,907,320,880,320C853.3,320,827,320,800,320C773.3,320,747,320,720,320C693.3,320,667,320,640,320C613.3,320,587,320,560,320C533.3,320,507,320,480,320C453.3,320,427,320,400,320C373.3,320,347,320,320,320C293.3,320,267,320,240,320C213.3,320,187,320,160,320C133.3,320,107,320,80,320C53.3,320,27,320,13,320L0,320Z"></path></svg> </div>
? 提示:preserveAspectRatio="none" 是实现「高度拉伸适配」的关键——它允许 SVG 在保持宽高比不变的前提下,强制填充父容器,避免留白或裁剪。
⚠️ 注意事项与最佳实践
-
颜色控制:外层 div 的 background 决定波浪下方区域颜色;
的 fill 决定波浪本身颜色;两者共同构成视觉层次。 - 响应式保障:务必移除 SVG 的 width/height 属性,仅依赖 viewBox 和 CSS 宽度控制;若需固定高度(如 80px),可在 div 上设置 min-height: 80px 并配合 overflow: hidden 防止溢出。
- 性能友好:SVG 路径是静态向量图形,渲染性能远优于 CSS clip-path 或 JS 动画,适合首屏直出。
-
定制化建议:可通过 Getwaves.io 可视化生成不同振幅、频率、方向的波浪 SVG,导出后替换
即可,无需手写贝塞尔曲线。
✅ 总结
无需引入任何框架或库,仅靠一个










