首先,我知道这个问题与这个问题非常相似,但我尝试使用SVG
PATH
实现该解决方案,但没有成功。
我也知道另一个解决方案是循环PATH
并设置PATH
的FILL
,如此处和其他网站上所述。
然而,我已经动画化了STROKE-DASHOFFSET
的PATH
,使得PATH
的描边,即一个不规则的线条,看起来像是被绘制到页面上;这就是我想要实现的效果,而不是使用颜色作为STROKE
,而是使用图像。换句话说,对于用户来说,它将显示为图像(而不是纯色)作为不规则线条被绘制到页面上。
按照要求,以下是我正在使用的PATH
的HTML及其相应的CSS,该PATH
的图像以及动画本身的CSS:
<div id="container">
<svg>
<path d="
M0,5
L184,5
C202,5 202,5 202,36
L202,86
L327,85
L421,166
L460,166
L499,132
L588,211
L617,211
L712,134
L748,165
L780,165
L830,111
L913,212
L938,212
L1028,140
L1078,184
L1107,184
L1152,140
L1263,249
L1263,248"
/>
</svg>
</div>
#container {
width:1263px; height:255px;
position:absolute;
}
#container svg {
width:100%; height:100%;
fill:none;
stroke:#008066; stroke-width:8;
stroke-dasharray:1628; stroke-dashoffset:1628.1;
stroke-linecap:square;
animation:polyline 3.15s linear 0.5s forwards;
}
@keyframes polyline {
to {
stroke-dashoffset:0;
}
}
这是否可能?
通过使用CLIPPATH
元素,然后以某种方式对其进行动画处理,这是否可能?
TIA
更新
下面是带有PATTERN
和IMAGE
元素以及相应CSS的代码,但似乎没有产生描边。
<defs>
<pattern id="pattern" width="1600" height="800" patternUnits="userSpaceOnUse">
<image xlink:href="http://lorempixel.com/1600/800/nature" width="1600" height="800" />
</pattern>
</defs>
#container svg {
stroke:url(#pattern);
}
PATTERN
元素及其代码,因为它没有起作用。正如我在问题中明确表达的那样,我不知道我想要实现的效果是否可能... - user2230470