所以,我現在正在嘗試使用CSS3轉換,因爲它有點標準化,我們沒有前綴的重載處理。我所擁有的是一個基本的三排導航欄,當點擊時,兩個酒吧的角度和中間消失(在這個例子中,它停留在那裏,但在我的項目中,它「消失」到一個出現在它後面的元素,恰好是相同的顏色)。頂部和底部的條是僞元素,中間的是正常的元素。使用CSS3轉換的可能的Webkit錯誤
這很難解釋,所以我做了fiddle。
我遇到的問題是在Chrome 29中,酒吧的顏色過渡存在延遲。在Firefox和IE10中,轉換工作。在Chrome中,轉換過渡可行,但背景顏色不適用。在Opera中,既不工作也不在Safari中......好吧,Safari有它自己的問題。
的加價很簡單:
<nav>
<div id="menu">
<span></span>
</div>
</nav>
我使用jQuery 1.8.3,我用這個非常複雜的腳本。
$(document).ready(function() {
$('#menu').click(function() {
$(this).toggleClass('active');
$('nav').toggleClass('active');
});
});
而且我用下面的CSS:
#menu { cursor: pointer; height: 30px; position: fixed; z-index: 200; }
#menu span { position: relative; margin-top: 10px; }
#menu span, #menu span:before, #menu span:after { height: 5px; background-color: #231F20; width: 50px; display: block; transition: all 0.5s; -webkit-transition: all 0.5s; -o-transition: all 0.5s; }
#menu.active span:before, #menu.active span:after { background-color: #F2F2F2; }
#menu.active span:before { top: 0; transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); }
#menu.active span:after { bottom: 0; transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
#menu span:before, #menu span:after { position: absolute; display: block; content: ""; }
#menu span:before { top: -10px; }
#menu span:after { bottom: -10px; }
所以,我的問題是:爲什麼會出現在背景色在Chrome中沒有過渡?我在Opera中做錯了什麼?我知道Opera現在經常依賴-webkit-前綴,所以我認爲無論問題出在哪一個上,它都是另一個。
而且,如果你真的覺得自己是一個解決天才的問題,你能告訴我爲什麼它也會在Safari上變得無足輕重嗎?如果你能得到它,那就是金星和餅乾。
非常感謝你們!
僞元素的過渡在過去一直很過時 –