css3 transform transition相關問題
問題描述
<style> .a{-webkit-transition: 1s 0s all ease;-o-transition: 1s 0s all ease;-moz-transition: 1s 0s all ease;transition: 1s 0s all ease;-webkit-transform: scale(1.1,1.1);-o-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1); }</style><p style='height: 300px;width: 300px;background: red'></p>
就這樣 為什么頁面顯示出來直接放大了1.1倍 1秒的過濾怎么就沒有?
問題解答
回答1:既然是過渡,就應該有一個狀態的變化,題主這樣設置就是讓.a的初始狀態就為1.1倍。如果你給.a:hover設置樣式就可以看到效果了:
.a { -webkit-transition: 1s 0s all ease; -o-transition: 1s 0s all ease; -moz-transition: 1s 0s all ease; transition: 1s 0s all ease;}.a:hover { -webkit-transform: scale(1.1, 1.1); -o-transform: scale(1.1, 1.1); -moz-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1);}
題主如果是想要一加載就開始動畫的話,應該使用animation來實現。
回答2:我猜題主想要的可能是這種效果?不過這個應該算動畫不算過渡吧www
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ''> <html xmlns=''> <head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312' /> <style> @keyframes myfirst{ from {background: red;} to {background: yellow;-webkit-transform: scale(1.1,1.1);-o-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1); } } @-moz-keyframes myfirst /* Firefox */{ from {background: red;} to {background: yellow;-webkit-transform: scale(1.1,1.1);-o-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1); } } @-webkit-keyframes myfirst /* Safari 和 Chrome */{ from {background: red;} to {background: yellow;-webkit-transform: scale(1.1,1.1);-o-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1); } } @-o-keyframes myfirst /* Opera */{ from {background: red;} to {background: yellow;-webkit-transform: scale(1.1,1.1);-o-transform: scale(1.1,1.1);-moz-transform: scale(1.1,1.1);transform: scale(1.1,1.1); } } .a{ width: 300px; height: 300px; background: red; -webkit-animation: myfirst 1s; -o-animation: myfirst 1s; -moz-animation: myfirst 1s; animation: myfirst 1s; } </style> </head> <body> <p class='a'></p></body> </html> 回答3:
W3C標準中對css3的transition這是樣描述的: “css的transition允許css的屬性值在一定的時間區間內平滑地過渡。這種效果可以在鼠標單擊、獲得焦點、被點擊或對元素任何改變中觸發,并圓滑地以動畫效果改變CSS的屬性值。”所以并不是什么時候都能看到動畫效果的,在頁面剛加載 解析css 渲染頁面的時候 并沒有觸發過渡效果。如果想實現頁面剛加載就出發 transition 的效果的話,可以考慮 用一下 調用一次 animation;或者 用js 獲取頁面加載狀態;
僅供參考...
相關文章:
1. docker-machine添加一個已有的docker主機問題2. python - Pycharm的Debug用不了3. java如何高效讀寫10G以上大文件4. java - 新手求教,當前時間問題?5. node.js - node express 中ajax post請求參數接收不到?6. html - 用ajax提交表單后,返回驗證數據在頁面location.href跳轉到主頁,怎么傳遞session給主頁7. java - tomcat服務經常晚上會掛,求解?8. node.js - electron使用原生node模塊9. apache - nginx 日志刪除后 重新建一個文件 就打不了日志了10. java - 原生CGLib內部方法互相調用時可以代理,但基于CGLib的Spring AOP卻代理失效,為什么?
