2015-07-13 275 views
-1

我見過很多關於如何完成像here這樣的顏色的完整對象動畫的問題和解答。但是,是否有可能通過填充(路徑的內部)來製作一個尖銳的移動色塊?如何去動畫一個SVG呢?使用CSS動畫沿着路徑填充SVG

+0

如果使用多個漸變色,你可以得到銳利的邊緣。 –

+0

嘗試在谷歌搜索。 –

+0

我不認爲任何人都非常瞭解你想要什麼。你能嵌入(或鏈接)一張圖片嗎? –

回答

0

有幾個JavaScript庫,你可以看看:svgjsSnap.svg ....應該指出你在正確的方向。

只是一段簡短的代碼來說明如何快速工作。我只會給你一個你想要改變懸停的svg填充的參數。

<svg id="targetSvg" ...> 
    <!-- path forming the upper shell --> 
    <g> 
    <path id="1" fill="#000" d="..."/> 
    <path id="2" fill="#fff" d="..."/> 
    <path id="3" fill="#000" d="..."/> 
    </g> 
</svg> 

的Javascript

//select the svg you want to have the effect on 
s = Snap("#targetSvg"); 

s.select("g").hover(isHover, idHoverOut); 

function isHover() { 
    this.selectAll('path').forEach(function(el){ 
     el.attr({ class: 'fadeIn' }) }); 
}; 

function isHoverOut() { 
    this.selectAll('path').forEach(function(el){ 
     el.attr({ class: 'fadeOut' }) }); 
}; 

CSS樣式

.fadein { 
    transition: fill 1s linear; 
    fill:blue; 
} 

.fadeout { 
    transition: fill 1s linear; 
} 
+1

@Paulie_D我只想指向正確的方向。但要明白你的意思。有時候試圖幫助別人最終會花費更多的分數。 – ramesh

+0

我明白,將整個SVG或路徑淡入不同的顏色會使顏色變化變得很容易,但是如何爲沿着路徑的顏色變化設置動畫效果?就像,如果你想通過一條路徑的內部有不同的顏色蛇。 – AzurNova

+0

[This](http://codepen.io/ghepting/pen/xnezB)是我在玩svgs時遇到的一個codepen。這應該有所幫助。 – ramesh