2017-04-11 78 views
0

我試圖在導航欄中設置動畫標題。就像一個在這個網站:導航欄中的動畫標題

http://www.danielspatzek.com/Home

我試過被動畫孔字,但它不是我在尋找:

<a>Contact</a> 
a { 
letter-spacing: 1px; 
    transition: all .1s ease-in; 
} 
a:hover { 
letter-spacing: 0.2em; 
} 

我知道,我應該使用動畫信通過信件,但我怎麼能讓他們攤開?

謝謝

+0

安置自己的努力 –

+2

請發表您的代碼在這裏,我們可以看到你已經嘗試過什麼。 – freginold

+0

已更新。謝謝! – MuaathAli

回答

1

你可以解決它像這樣

var spread = document.getElementsByClassName('spread'); 
 
[].forEach.call(spread, function(el) { 
 
    // replace the content width divs 
 
    el.innerHTML = '<span>' + el.innerText.split('').join('</span><span>') + '</span>' 
 
    // custom :hover 
 
    el.onmouseenter = function(e) { 
 
    var childern = e.target.childNodes 
 
    var width = e.target.offsetWidth/childern.length 
 
    for (var i = 0, child; child = childern[i]; i++) child.style.minWidth = width + 'px' 
 
    } 
 
    // remove custom style again 
 
    el.onmouseleave = function(e) { 
 
    var childern = e.target.childNodes 
 
    for (var i = 0, child; child = childern[i]; i++) child.style.minWidth = '0' 
 
    } 
 
})
.spread { 
 
    text-align:center; 
 
} 
 
.spread span { 
 
    display: inline-block; 
 
    transition: all .5s ease; 
 
    text-align:center; 
 
    min-width: 0; 
 
}
<h1 class="spread"> 
 
    Title 
 
</h1>

+0

完美的作品!謝謝! – MuaathAli

3

上給例如動畫已經由著名動畫庫Greensock實現。

如果您確實想要製作這類動畫,請使用TimelineliteTweenmax類讓您的手變得有點髒。

+0

會看看那個!謝謝! – MuaathAli