整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS3過渡屬性詳解,如何讓簡單代碼輕松實現頁面動畫

          CSS3過渡屬性詳解,如何讓簡單代碼輕松實現頁面動畫?

          SS3 transition屬性允許CSS元素的屬性值在一定的時間區間內平滑地過渡。我們可以在不使用 Flash 動畫或 JavaScript 的情況下,在元素從一種樣式變換為另一種樣式時為元素添加效果。這種效果可以在鼠標單擊、獲得焦點、被點擊或對元素任何改變中觸發,并圓滑地以動畫效果改變 CSS 的屬性值。接下來就一起去看看這個CSS3屬性吧!

          一、CSS3的transition屬性

          transition屬性的作用就是指定當你的元素某些樣式發生變化時,這些樣式可以漸漸過渡到最終屬性值。transition屬性是一個簡寫的復合屬性,其中包含了四個過渡屬性。

          1、transition 簡寫的復合屬性,用于在一個屬性中設置四個過渡屬性。

          2、transition-property 規定應用過渡的CSS屬性的名稱。

          3、transition-duration 定義過渡效果花費的時間,默認是0。

          4、transition-timing-function 規定過渡效果的時間曲線,默認是"ease"。

          5、transition-delay 規定過渡效果何時開始,默認是0。

          transition-property 用于產生過渡動畫的單個或多個屬性,或者過渡所有屬性的關鍵字all。

          transition-duration 漸變時間屬性值為 “數值+s” ,代表多少時間完成過渡效果。

          transition-timing-function 是可選屬性值。

          有如下可選值

          1、linear線性過渡,ease(默認)平滑過渡,ease-in由慢到快、由快到慢,ease-in-out由慢到快再到慢,

          2、step-start等同 steps(1, start),step-end等同 steps(1, end)

          3、steps()兩個參數的步進函數。第一個參數為正整數,指定函數步數。第二個參數取值是start或end,指定每一步的值發生變化的時間點。第二個參數可選,默認值為end。

          4、cubic-bezier(num, num, num, num)特定的貝塞爾曲線類型,4個數值需在[0, 1]區間內。

          transition-delay可選屬性值,設置延遲過渡(即設置多少時間后再開始過渡),延遲的時間值為“數值+s”。該屬性可以對多個不同的屬性進行設置,用逗號隔開。

          二,可用于過渡的屬性

          不是所有的樣式都可以過渡,如說display:block不能過渡到display:inline-block。那么具體有哪些屬性可以用于過渡呢?下面列舉了部分可以用于過渡的屬性

          部分可用于過渡的屬性示意圖

          三、兼容性

          transition屬性瀏覽器兼容性

          transition屬性瀏覽器兼容性

          注:Internet Explorer 9 以及更早的版本不支持 transition 屬性,且Chrome 25 以及更早的版本,需要前綴 -webkit-。

          使用過渡屬性而不是腳本的另一個原因是腳本方法改變多個元素樣式可能會產生沖突,transition過渡屬性就不需要考慮這個問題元素與元素之間互不影響。元素過渡需要知道樣式具體的起始屬性和末尾屬性,如寬度從10px變化到100px。

          四、transition屬性的運用

          示例一

          控制單個屬性(如width)過渡

          改變單個屬性示例

          示例二

          控制多個屬性(如transform,background,background,height)過渡。

          element{

          -webkit-transition:-webkit-transform 5s,background 5s,width 5s,height 5s;

          -moz-transition-property:width,height,-o-transform,background,;

          -moz-transition-duration:5s,5s,5s,5s;

          -o-transition-property:width,height,-o-transform,background;

          -o-transition-duration:5s,5s,5s,5s;

          transition-property:width,height,transform,background;

          transition-duration:5s,5s,5s,5s;

          }

          感謝您閱讀了這篇文章,希望會對您有所幫助。喜歡我就關注我吧,后面的文章內容會越來越精彩喔!

          天就來分享一些網頁中會用到的展示的小效果

          很多欄目的邊框當鼠標移上去的時候,邊框會有移動的色澤變化,有順時針過渡或者逆時針過渡的效果

          下面看看效果:

          實現代碼:

          SS實現一個高度過度的動畫 ,針對于屬性height,設置一個transition動畫就能實現我們想要看到的效果。而這個高度在實際情況下, 我們并不希望它是一個固定的值,需要做的更靈活一點,比如隨著內容的增減自適應,所以,有人就會想到使用transition將高度從0過度到auto,然而,這樣實現動畫效果會生效嗎?有沒有更優秀的技巧或者方法了?

          有的,今天和大家聊一聊這個問題。

          文章中講解的DOM結構,如下

          效果如下,鼠標移上去的時候,下面這段文字展示(<mark>動畫效果</mark> )

          01. height過度0到auto?

          默認的時候高度設置成0,鼠標移上去的時候,將高度設置成auto,像下面代碼這樣

          從效果上來看,這個變化是瞬間的,并沒有500毫秒過度效果。也就是說CSS不能使用transition實現height從0過度到auto。

          這不符合我們的預期效果。

          02. height過度0到固定值?

          竟然auto不能動畫過度,那我們就改成固定的值(最簡單的就是改成數字),比如,從0過度到300。這樣過度效果就生效了。

          雖然這樣能過度過去,但這不是一個很優的方法, 因為這樣處理的話,我們得通過JS去計算這個高度,才能確保我們的功能不出BUG。

          03. max-height過度0到固定值?

          為什么不試一下最大高度了?

          max-height從0到固定值也是可以animation過去的,唯一不太好的地方就是,我們的內容有可能會溢出,畢竟我們設置的只是一個最大的高度。

          如果需求能保證內容的高度永遠不會達到一定的值,用這個方法完全沒什么問題。我們只需要設置一個適當的最大高度值就好。

          04. 過度grid-template-rows?

          這個時候,網格布局給我們提供了另外一個巧妙的解決方案。

          只需要將grid-template-rows從0fr過度到1fr。如此一來,我們的網格項將從0過渡到其'自然'高度。這應該就是比較完美的解決辦法。

          代碼如下

          功能是實現了,我也不得不關注一下這屬性的兼容性問題。

          注意到chrome從107版本開始支持這個屬性。


          主站蜘蛛池模板: 亚洲一区二区影院| 美女毛片一区二区三区四区| 久久亚洲中文字幕精品一区四| 无码人妻一区二区三区在线视频 | 亚洲国产综合无码一区二区二三区 | www一区二区三区| 国产成人精品一区二区A片带套 | 亚洲国产精品乱码一区二区| 国产三级一区二区三区| 欧美av色香蕉一区二区蜜桃小说| 国产精品免费一区二区三区四区 | 久久毛片一区二区| 人妻体体内射精一区二区| 国产午夜精品一区理论片飘花| 国产成人一区二区精品非洲| 成人欧美一区二区三区在线视频| 一区二区三区高清| 久久精品日韩一区国产二区| 无码人妻精品一区二区蜜桃网站| 亚洲一区二区影院| 国产精品香蕉在线一区| 3D动漫精品啪啪一区二区下载| 色久综合网精品一区二区| 精品一区二区三区免费毛片爱 | 99久久无码一区人妻a黑| 国产精品电影一区| 在线观看一区二区三区视频| 精品亚洲av无码一区二区柚蜜| 精品一区二区三区| 动漫精品专区一区二区三区不卡| 日本一区二区三区精品国产 | 亚洲永久无码3D动漫一区| 日韩免费观看一区| 精品国产一区二区三区久久久狼| 亚洲AV无码一区二区三区牛牛 | 日本免费一区二区久久人人澡| 国偷自产一区二区免费视频| 精品人妻少妇一区二区三区在线| 怡红院AV一区二区三区| 影院无码人妻精品一区二区| 夜夜添无码一区二区三区|