2015-04-24 64 views
-3

將元素從其當前位置轉換到視口的中心?將元素從當前位置過渡到視口的中心?

這基本上就是我所要求的。

我希望elem從頁面中的任何位置使用類似複選框之類的內容在狀態之間進行切換,平滑地移動到圖像的中心。

我真的很想用純CSS做到這一點。可以做到嗎?

+1

請提供可修改的示例HTML和CSS代碼以實現此目標。像這樣的問題需要更多的背景才能提供答案。 –

+0

http://codepen.io/mildrenben/pen/MwYgVY當你點擊豬時,它會跳到指定的位置,我該如何平滑過渡? – mildrenben

回答

1

http://codepen.io/anon/pen/LVEYZm

嘗試這樣的事情。問題在於,您沒有在默認狀態下指定transformtopleft,所以當檢查切換時,CSS轉換不知道如何從未定義狀態計算到定義狀態。

img { 
    width: 400px; 
    position: absolute; 
    transition: all 0.3s ease; 
    /* these need to be specified as well */ 
    top: 0; 
    left: 100px; 
    transform: translate(0, 0); 
} 

input:checked { 
    + label { 
     img { 
      /* since they're the values being transitioned */ 
      top: 50%; 
      left: 50%; 
      transform: translate(-50%, -50%); 
     } 
    } 
} 
+0

感謝您的評論,但我有點知道已經(不意味着聽起來像一個混蛋)。我想要那個結果,但不必指定頂部和左側。 – mildrenben

+0

@mildrenben - 爲什麼有一個要求,頂部和左側沒有指定?如果你知道這已經是你的問題了。 – wunth

+1

@mildrenben你的請求是不可能的,然後,使用純CSS。也許你應該問一個關於這個問題的新問題,在JavaScript中請求一個解決方案,限制在最初的CSS狀態中沒有定義「top」和「left」。同時,我對你原來的問題的回答其實是正確的,應該被接受。 –

相關問題