2016-03-02 25 views
1

我想在兩個元素之間創建一個動態寬度的動畫(取決於屏幕大小)。CSS3動畫 - 兩個元素之間的弧

有人可以給我一個提示如何實現?見附圖。

Animate between 2 elements with unknown distance

+0

嘗試google..you會得到一切。 –

+0

相信我我試過 - 沒有得到這個具體問題的答案。如果您有很好的鏈接,歡迎與我分享。 –

+0

您可以添加您通過jsfiddle或plunker嘗試過的代碼嗎? – johannesMatevosyan

回答

3

如果你能得到一個div來擴展你想覆蓋的距離,該解決方案可以工作:

設置2級的動畫,一個是水平軸,另一個爲縱座標

.container { 
 
    width: 400px; 
 
    height: 100px; 
 
    border: solid 1px blue; 
 
    position: relative; 
 
} 
 

 
.container:nth-child(2) { 
 
    width: 800px; 
 
} 
 

 
.inner { 
 
    width: 25px; 
 
    height: 25px; 
 
    background-color: green; 
 
    border-radius: 100%; 
 
    animation-name: arctop, arcleft; 
 
    animation-duration: 2s, 2s; 
 
    animation-timing-function: linear, linear; 
 
    animation-iteration-count: infinite, infinite; 
 
    position: absolute; 
 
} 
 

 
@keyframes arctop { 
 
    0% {top: 75px; animation-timing-function: ease-out;} 
 
    50% {top: 0px; animation-timing-function: ease-in;} 
 
    100% {top: 75px;} 
 
} 
 

 
@keyframes arcleft { 
 
    0% {left: 0px;} 
 
    100% {left: calc(100% - 25px)} 
 
}
<div class="container"> 
 
    <div class="inner"></div> 
 
</div> 
 
<div class="container"> 
 
    <div class="inner"></div> 
 
</div>

+0

謝謝,我永遠不知道我可以在元素上使用多個動畫。非常感謝您的回答! @vals –

+0

幸福,它幫助!但是瀏覽器對多動畫的支持並不是很好,所以你可能想要創建一箇中間元素,併爲每一個動畫賦一個動畫。 – vals