2011-10-17 22 views

回答

4

在我提出問題和想了一會之後,我自己找到了答案。

並想出了一個解決方案。

所以,要一步一步:

  1. 讓我們來看看情況,當你需要顯示它在開始隱藏塊。
  2. 當您切換opacityvisibility進行轉換時,在轉換處於運行狀態時,塊保持爲visibility: hidden。所以,你不需要在這裏使用visibility的轉換。
  3. 但是當您再次隱藏該塊時,您需要在轉換結束時切換visibility,因此顯然需要進行轉換。
  4. 因此,在塊被隱藏的選擇器處,您必須有opacity的轉換,並且在顯示它的選擇器中,您不需要轉換。

這裏是我這個解決方案做了一個小提琴:http://jsfiddle.net/kizu/A7QX9/1/

+0

感謝您分享小提琴。我在Opera上遇到了動畫和不透明問題。看完你的小提琴後,它讓我找到了正確的答案。在動畫聲明中使用供應商前綴,但在聲明動畫中的不透明度時不要使用供應商前綴。事後看來這真的很明顯,但有時我不確定供應商前綴是否必要,何時不需要。謝謝! –

3

當前實施歌劇轉變是基於older version of the spec說,用於轉換知名度「1是‘看得見’和所有其他值都「隱」。」

因此,如果您嘗試從「隱藏」轉換爲「可見」,那麼直到代表轉換的基礎0-1範圍達到值1時纔會看到該元素。 同時,如果您從「可見「到」隱藏「,則元素將在轉換開始時立即消失,因爲值將爲< 1.

您期望的行爲在"draft" version of the spec中指定,它表示」0是「隱藏」,並且所有其他值都是「可見」。」。

雖然好消息 - Opera 12將包含修復此bug的方法。預計很快會出現測試版本,並修復Desktop Team blog

+0

感謝您的解釋!很高興聽到這個問題會得到解決。 – kizu

相關問題