我有一個純CSS動畫過渡的簡單語言選擇頁面。我做了一個jsFiddle here。CSS懸停過渡跨瀏覽器兼容性
它應該如何表現如下:
- 超過兩個(或更多)的語言選擇的一個用戶移動鼠標。
- 該語言選擇器向上轉換並達到完全不透明狀態。相關語言文本(例如,英語,Españ ol)也會出現。
- 用戶可以點擊鏈接或鼠標移出,在這種情況下,轉換會反轉。
在Chrome中,它的行爲與預期相同。
在Firefox中,當我鼠標移過一個圖片,兩個都向上移動。
在Opera中,它的表現大部分與預期的一樣,但文字在向上移動後跳回。
我在試圖瞭解爲什麼這會在這些瀏覽器中發生,以及我如何在可能的情況下修復它。
在此的jsfiddle下跌的情況下,相關代碼:
HTML
<div id="container"><div id="cell">
<div class="langcell"><a href="en/index.html">
<img src="http://upload.wikimedia.org/wikipedia/en/thumb/a/a4/Flag_of_the_United_States.svg/200px-Flag_of_the_United_States.svg.png" /><br/><p>English</p></a>
</div>
<div class="langcell"><a href="es/index.html">
<img src="http://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Flag_of_Spain.svg/200px-Flag_of_Spain.svg.png" /><br/><p>Español</p></a>
</div>
</div></div>
CSS
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
#container {
width: 100%;
height: 100%;
display: table;
}
#cell {
display: table-cell; vertical-align: middle; text-align: center;
}
.langcell {
display: inline-block;
margin: auto 1em;
}
a {
position: relative;
top: 0;
-webkit-transition: top 0.25s;
-moz-transition: top 0.25s;
-o-transition: top 0.25s;
transition: top 0.25s;
color: black;
text-decoration: none;
}
a:hover {
top: -16pt;
}
a p {
font-size: 14pt;
font-weight: bold;
text-transform: uppercase;
font-family: Verdana, Geneva, sans-serif;
letter-spacing: 0.05em;
opacity: 0;
-webkit-transition: opacity 0.25s;
-moz-transition: opacity 0.25s;
-o-transition: opacity 0.25s;
transition: opacity 0.25s;
}
a:hover p {
opacity: 1;
}
a img {
opacity: 0.65;
-webkit-transition: opacity 0.25s;
-moz-transition: opacity 0.25s;
-o-transition: opacity 0.25s;
transition: opacity 0.25s;
}
a:hover img {
opacity: 1;
}
作品完全在我的Firefox – 2013-03-14 19:37:46
嘗試獲得最新的FF? – Shouvik 2013-03-14 19:42:39
這不是解決您的問題的方法,但您應該知道,如果您從底部進入該元素,元素會向上移動,這會導致我的鼠標位於元素之外,因此它會向下移動。如果你不移動你的鼠標,它會永遠做到這一點。定位覆蓋整個空間的元素或重新考慮上下移動元素。 – MiniRagnarok 2013-03-14 19:51:55