CSS3 中 transition-duration 對 display: none/block 屬性無效?
問題描述
代碼如下面所示,我用 transition-duration 對 display: none/block 屬性和 width 屬性進行2秒慢動作切換。但是,實際展示的時候,width 變換確實用了2秒,但display并沒有,請問這是為什么呢?
HTML
<p class=’transition-example’ id=’width-duration’> <p class='box'>o</box></p>
CSS
.transition-example { width: 40px; height: 40px; background: red; margin: 30px; color: #FFF; font-size: 20px;} #width-duration, .box { -webkit-transition-duration: 2s; -moz-transition-duration: 2s; -o-transition-duration: 2s; transition-duration: 2s;} #width-duration:hover { width: 80px;}.box { display: none;}#width-duration:hover .box { display: block; } ?
?http://jsfiddle.net/u2MXQ/
問題解答
回答1:看W3文檔中支持的屬性:http://www.w3.org/TR/css3-transitions...
目前display屬性不受支持。猜想原因是因為緩動是基于數(shù)值和時間的計算(長度,百分比,角度,顏色也能轉(zhuǎn)換為數(shù)值),文檔說明在此:http://www.w3.org/TR/css3-transitions... 。而display是一個尷尬的屬性,該計算什么值實現(xiàn)?
因此解決方案是利用支持的屬性如:opacity: 0 或者 width:0, height:0 或者 visibility:hidden 來達到視覺上的隱藏效果。
如果目標元素中有鏈接之類那么推薦用visibility而不是opacity,因為opacity為0時鏈接仍可以被點擊。
相關(guān)文章:
1. mysql - SQL問個基礎(chǔ)例子,書上的,我怎么看都看不懂..誰幫我解釋一下第2個為什么和第1個一樣?2. 網(wǎng)頁爬蟲 - Python爬蟲入門知識3. python - Pycharm調(diào)試代碼進行列表遍歷時,如何直接賦值指定元素4. 騰訊地圖小程序SDK,success返回的數(shù)據(jù)無法取出5. 小白,不知道如何解決keras在python中導入失敗?6. php多任務倒計時求助7. javascript - 微信支付問題8. 求解改變某值9. mysql 能不能創(chuàng)建一個 有列級函數(shù) 的聯(lián)合視圖?10. 大家都用什么工具管理mysql數(shù)據(jù)庫?
