CSS3 中 transition-duration 對(duì) display: none/block 屬性無(wú)效?
問(wèn)題描述
代碼如下面所示,我用 transition-duration 對(duì) display: none/block 屬性和 width 屬性進(jìn)行2秒慢動(dòng)作切換。但是,實(shí)際展示的時(shí)候,width 變換確實(shí)用了2秒,但display并沒(méi)有,請(qǐng)問(wèn)這是為什么呢?
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/
問(wèn)題解答
回答1:看W3文檔中支持的屬性:http://www.w3.org/TR/css3-transitions...
目前display屬性不受支持。猜想原因是因?yàn)榫弰?dòng)是基于數(shù)值和時(shí)間的計(jì)算(長(zhǎng)度,百分比,角度,顏色也能轉(zhuǎn)換為數(shù)值),文檔說(shuō)明在此:http://www.w3.org/TR/css3-transitions... 。而display是一個(gè)尷尬的屬性,該計(jì)算什么值實(shí)現(xiàn)?
因此解決方案是利用支持的屬性如:opacity: 0 或者 width:0, height:0 或者 visibility:hidden 來(lái)達(dá)到視覺(jué)上的隱藏效果。
如果目標(biāo)元素中有鏈接之類那么推薦用visibility而不是opacity,因?yàn)閛pacity為0時(shí)鏈接仍可以被點(diǎn)擊。
相關(guān)文章:
1. mysql - ubuntu開(kāi)啟3306端口失敗,有什么辦法可以解決?2. php傳對(duì)應(yīng)的id值為什么傳不了啊有木有大神會(huì)的看我下方截圖3. extra沒(méi)有加載出來(lái)4. javascript - 微信網(wǎng)頁(yè)開(kāi)發(fā)從菜單進(jìn)入頁(yè)面后,按返回鍵沒(méi)有關(guān)閉瀏覽器而是刷新當(dāng)前頁(yè)面,求解決?5. mysql - C#連接數(shù)據(jù)庫(kù)時(shí)一直這一句出問(wèn)題int i = cmd.ExecuteNonQuery();6. mysql日期類型默認(rèn)值’0000-00-00’ 報(bào)錯(cuò)7. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?8. mysql replace 死鎖9. windows - asp.net連接上mysql之后如何調(diào)用?比如下面的登錄驗(yàn)證功能怎么實(shí)現(xiàn)10. android - 安卓做前端,PHP做后臺(tái)服務(wù)器 有什么需要注意的?
