【发布时间】:2018-11-17 14:44:01
【问题描述】:
我正在尝试让 div 的边框遵循 SVG 的模式,通过 SO 上的以下答案:
我有以下 HTML:
<div class="container">
<svg height="850px" width="100px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<clipPath id="svgPath" >
<path style="stroke: none; fill: red" id="arrow" d="M 50 0 C 10 150 80 130 50 170 C 10 260 80 220 50 310 C 10 420 80 380 50 510 C 50 520 80 500 50 600 C 10 700 80 680 50 720 C 10 800 80 780 50 830 " />
</clipPath>
</defs>
<rect width="100%" height="100%" fill="green" clip-path="url(#svgPath)" />
</svg>
</div>
它给了我一个完全不同的结果。以下是一个Plunker的代码:
https://next.plnkr.co/edit/SfthJz3UwQPAKkgb?open=lib%2Fscript.js&preview
谢谢:)
【问题讨论】:
-
预期的结果是什么?
-
@TemaniAfif 让 div 的边框遵循 SVG 的模式。基本上一部分是一种颜色,另一部分是另一种颜色,并由 SVG 图案分隔。
-
@TemaniAfif 是的 - 正是:)
-
啊,现在我明白了。 Clip-path 需要一个返回点,所以它会自动添加一个 Z,这就是它很时髦的原因。很确定如果我正确定义它会起作用。