【发布时间】:2017-02-01 19:13:58
【问题描述】:
我有一个想要从左到右平滑填充的 SVG。如何使用 CSS 做到这一点?
我不希望线条移动,我希望它从左到右平滑填充,同时保持在同一个地方,这就是我使用 svg 的原因。
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="324" height="25" viewBox="0 0 324 25">
<g id="btn_underline">
<path id="V" d="M88.029,0.613 C58.722,-0.156 29.992,3.400 1.839,11.183 C-1.140,12.047 0.205,16.660 3.184,15.795 C28.262,8.781 54.014,5.321 80.438,5.321 C83.801,5.321 86.203,5.321 87.836,5.417 C96.196,5.610 105.324,6.282 115.413,7.339 C125.503,8.396 133.958,9.453 140.588,10.510 C147.218,11.471 156.346,12.912 167.781,14.834 C182.098,17.236 194.397,19.158 204.582,20.599 C223.511,23.194 240.519,24.443 255.412,24.443 C259.256,24.443 262.138,24.443 264.060,24.347 C274.726,23.962 284.623,23.001 293.655,21.368 C303.936,19.542 313.449,17.044 322.385,13.873 C323.634,13.489 324.307,12.047 323.826,10.798 C323.250,9.357 322.193,8.877 320.751,9.357 C311.815,12.624 302.495,15.026 292.790,16.660 C283.758,18.197 274.149,19.158 263.868,19.542 C246.668,20.023 227.066,18.774 205.159,15.795 C195.742,14.546 183.539,12.624 168.549,10.126 C156.635,8.108 147.506,6.667 141.069,5.706 C134.631,4.745 126.271,3.688 115.990,2.631 C105.709,1.478 96.388,0.805 88.029,0.613 z" fill="#00363B" />
</g>
</svg>
【问题讨论】:
-
你试过搜索吗? css-tricks.com/animating-svg-css
-
创建 SVG 的方式会使这条线的动画变得更加复杂。为什么使用
fill可以很容易地创建它,而使用stroke(也许stroke-width用于厚度)? -
是的,我只是注意到路径不完全正确,无法制作此动画,谢谢
-
另外,您可以通过 linearGradient 和 SMIL 为停靠点设置动画。