html - css3兩個(gè)keyframe為什么不能同時(shí)執(zhí)行?
問(wèn)題描述
如題,我寫了兩個(gè)css3 animation動(dòng)畫,一個(gè)閃光,一個(gè)橫向顫動(dòng),代碼如下。
.flash{-webkit-animation: neon2 1s ease-in-out infinite alternate;-moz-animation: neon2 1s ease-in-out infinite alternate;animation: neon2 1s ease-in-out infinite alternate; }.shake-horizontal {transform-origin: center center;-webkit-animation: shake-horizontal 200ms ease-in-out 3;-moz-animation: shake-horizontal 200ms ease-in-out 3;animation: shake-horizontal 200ms ease-in-out 3; }@-webkit-keyframes neon2 { from {text-shadow: 0 0 8px #fff,0 0 24px #fff,0 0 32px #228DFF,0 0 35px #228DFF,0 0 40px #228DFF; } to {text-shadow: 0 0 4px #fff,0 0 12px #fff,0 0 16px #228DFF,0 0 20px #228DFF,0 0 24px #228DFF; }}@-webkit-keyframes shake-horizontal { 10% {transform: translate(-10px, 0); } 20% {transform: translate(0px, 0); } 30% {transform: translate(8px, 0);} 40% {transform: translate(0px, 0);} 50% {transform: translate(-6px, 0);} 60% {transform: translate(0px, 0);} 70% {transform: translate(4px, 0);} 80% {transform: translate(0px, 0); } 90% {transform: translate(-2px, 0);} 0%, 100% {transform: translate(0, 0) rotate(0deg); }}
html:
<p class='show'>完成</p>
測(cè)試:1.給元素直接單獨(dú)添加flash或shake-horizontal然后刷新頁(yè)面,分別可以生效,同時(shí)添加這兩個(gè)class,只有顫動(dòng)效果。。2.用js控制
$(’#show’).addClass(’flash shake-horizontal’); setTimeout(function(){$(’#show’).removeClass(’shake-horizontal’)},1000);
先顫動(dòng),然后閃光。。這是什么原因?我想要先同時(shí)顫動(dòng)加閃光,1秒后顫動(dòng)停止。
問(wèn)題解答
回答1:兩個(gè)animation的類名調(diào)用,相當(dāng)于你這個(gè)標(biāo)簽中同時(shí)出現(xiàn)了animation屬性,那么應(yīng)該就是會(huì)后面一個(gè)className覆蓋了前面一個(gè)className中的animation,所以,你看到的就是一個(gè)動(dòng)畫效果。
如果你希望兩個(gè)效果是同時(shí)存在的話,那么你可以在一個(gè)keyframes中把動(dòng)畫效果都寫上,比如你的neon2這個(gè)類是from、to的形式,而shake-horizontal是從0到100的形式,那么就結(jié)合一下,都用0到100的形式來(lái)處理,放在一個(gè)className中。
如果是有先后順序,后面可能會(huì)用到其中一個(gè),而你又不想重寫,只是想臨時(shí)調(diào)用的話,那么就只有通過(guò)setTimeout的方式,在第一個(gè)animation結(jié)束之后把這個(gè)className給remove了,同時(shí)再addClass第二個(gè)動(dòng)畫效果進(jìn)來(lái)。
相關(guān)文章:
1. 哪位大神知道MySql怎么修改多行多列的數(shù)據(jù)?求指點(diǎn)2. 這是什么情況???3. 編輯管理員信息時(shí),為什么沒(méi)有修改過(guò)的內(nèi)容會(huì)為空?4. phpadmin的數(shù)據(jù)庫(kù),可以設(shè)置自動(dòng)變化時(shí)間的變量嗎?就是不需要接收時(shí)間數(shù)據(jù),自動(dòng)變化5. mysql - thinkphp5 在MAC電腦本地正常,部署LINUX服務(wù)器之后,模型不存在6. 老哥們求助啊7. mysql服務(wù)無(wú)法啟動(dòng)1067錯(cuò)誤,誰(shuí)知道正確的解決方法?8. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;9. APP上傳到電腦服務(wù)器,出現(xiàn)數(shù)據(jù)上傳不完整的問(wèn)題10. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?
