CSS3動畫延時的一點疑問
問題描述
大體意思是我想讓content2延時2s再向上淡入,但我設(shè)置了延時時間2s后,這樣卻導(dǎo)致一開始content2直接顯示了,2s后再進(jìn)行淡入的動畫,能否讓它一開始隱藏,2s后再淡入?PS:想用純CSS3來解決
#content2 {position: absolute; left: 50%; top: 100px; width: 200px; height: 300px;background: #ccc;-webkit-animation: animations2 3s linear 2s;}@-webkit-keyframes animations2 { 0% { opacity: 0; top: 130px;} 100% {opacity: 1; top: 100px;}}
問題解答
回答1:知識點: animation-fill-mode
http://jsfiddle.net/xtftj288/embedded/result,css,html/
回答2:CSS3 動畫是非常蛋疼的,首先應(yīng)該要有這樣的心理準(zhǔn)備。
對于題主的情況,有兩種解決方案都可以。
第一,再寫一個設(shè)置 #content2 透明度為 0 的動畫,時長 2s,剛好掩蓋掉 animations2 的 2s 延時,讓它們在 #content2 上同時播放。
第二,修改 animations2,不要延時 2s,而把這 2s 放到 keyframes 里面作為動畫的一部分。在題目里面,可以把整個動畫看成 5s,0%, 40% { opacity: 0; top: 130px; },100% 部分不變,效果和延時是一樣的。
回答3:不是標(biāo)準(zhǔn)蛋疼,而是動畫延遲不是這麼用的。
延遲就是延遲,延遲的時候動畫沒有開始。動畫沒有開始的時候什麼樣子,取決於其它 CSS 的定義。
但是,題主看你這架勢不是用動畫的啊,應(yīng)該是用 transition 纔對。
不過你要是只想做一個出場動畫,那動畫就應(yīng)當(dāng)從頁面加載就開始執(zhí)行,至於具體怎麼個運動,比如速度之類的,應(yīng)當(dāng)歸到動畫裏面。
或者,用 animation-fill-mode,指定了動畫前後要應(yīng)用的樣式。
回答4:以上回答的顯得很蛋疼!
直接指定
#content2{opacity:0;-webkit-animation: animations2 3s linear 2s 1 forwards;}
相關(guān)文章:
1. sql語句 - 如何在mysql中批量添加用戶?2. shell - Update query wrong in MySQL3. javascript - mysql插入數(shù)據(jù)時怎樣避免與庫中的數(shù)據(jù)重復(fù)?4. php - 數(shù)據(jù)庫表如果是null怎么替換為其他字段的值5. 事務(wù) - mysql共享鎖lock in share mode的實際使用場景6. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。7. mysql - JAVA怎么實現(xiàn)一個DAO同時實現(xiàn)查詢兩個實體類的結(jié)果集8. SQLAlchemy 訪問Mysql數(shù)據(jù)庫彈出Warning,VARIABLE_VALUE,如何解決?9. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. mysql建表報錯,查手冊看不懂,求解?
