2013-07-14 110 views
1

我試圖弄清楚如何「動畫」懸停元素的子項。如何讓它跨越多個瀏覽器工作如此複雜?
最佳做法是什麼?懸停父項時子元素上的CSS轉換

.parent { 
    -moz-transition:-moz-transform 180ms; 
    -webkit-transition:-webkit-transform 180ms; 
    -o-transition:-o-transform 180ms; 
    transition:transform 180ms; 
} 
.parent:hover > .child { 
    transform: translate(0,-42px); 
} 

http://jsfiddle.net/KKrdA/2/在Firefox

.parent { 
    -moz-transition:top 180ms; 
    -webkit-transition:top 180ms; 
    -o-transition:top 180ms; 
    transition:top 180ms; 
} 
.parent:hover > .child { 
    top:-42px; 
} 

http://jsfiddle.net/KKrdA/1/作品與WebKit瀏覽器

+0

爲什麼你不能將二者結合起來:這意味着你爲什麼不能兼得'變換:翻譯(0 -42px);'和'頂:-42px;'相同的規則之內即'。父級:懸停> .child。或者我沒有正確理解你的問題? – vee

回答

4

變換是不是跨瀏覽器兼容,你還是要針對特定​​的瀏覽器。

.parent:hover > .child { 
    transform: translate(0,-42px); 
    -webkit-transform: translate(0,-42px); 
    -moz-transform: translate(0,-42px); 
    -o-transform: translate(0,-42px); 
    -ms-transform: translate(0,-42px); 
} 
+0

本應該看到它。謝謝!爲什麼動畫的頂級屬性如此痛苦呢? – yardarrat

+0

@yardarrat CSS職位本身就是一種痛苦。注意tranfoerm!= top – raam86

相關問題