中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3動畫類型有幾種

發布時間:2021-12-09 16:05:01 來源:億速云 閱讀:148 作者:小新 欄目:web開發

小編給大家分享一下css3動畫類型有幾種,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

css3動畫類型有3種:1、使用transition屬性實現的漸變動畫;2、使用transform屬性實現的轉變動畫;3、使用animation屬性和“@keyframes”規則實現的自定義動畫。

本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

css實現動畫主要有3種方式,第一種是:transition實現漸變動畫,第二種是:transform轉變動畫,第三種是:animation實現自定義動畫,下面具體講一下3種動畫的實現方式。

transition漸變動畫

我們先看一下transition的屬性:

  • property:填寫需要變化的css屬性如:width,line-height,font-size,color等,所有作用與dom樣式的屬性;

  • duration:完成過渡效果需要的時間單位(s或者ms)

  • timing-function:完成效果的速度曲線(linear,ease,ease-in,ease-out等等)

timing-function具體的值可以看下面的表格:

描述
linear勻速(等于 cubic-bezier(0,0,1,1))
ease從慢到快再到慢(cubic-bezier(0.25,0.1,0.25,1))
ease-in慢慢變快(等于 cubic-bezier(0.42,0,1,1))
ease-out慢慢變慢(等于 cubic-bezier(0,0,0.58,1))
ease-in-out先變快再到慢(等于 cubic-bezier(0.42,0,0.58,1)),漸顯漸隱效果
cubic-bezier(n,n,n,n)在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值
delay: 動畫效果的延遲觸發時間(單位ms或者s)

下面我們看一個完整的例子:

<div class="base"></div>
.base {
            width: 100px;
            height: 100px;
            display: inline-block;
            background-color: #0EA9FF;
            border-width: 5px;
            border-style: solid;
            border-color: #5daf34;
            transition-property: width,height,background-color,border-width;
            transition-duration: 2s;
            transition-timing-function: ease-in;
            transition-delay: 500ms;
	    /*簡寫*/
	    /*transition: all 2s ease-in 500ms;*/
            &:hover {
                width: 200px;
                height: 200px;
                background-color: #5daf34;
                border-width: 10px;
                border-color: #3a8ee6;
            }
        }

運行效果:

css3動畫類型有幾種

可以看到,鼠標移上去的時候,動畫延遲0.5s開始,并且由于border-color沒有設置到transition-property里面,所以是沒有漸變動畫的。


transform轉變動畫

transform屬性應用于2D 或 3D轉換。該屬性允許我們能夠對元素進行旋轉、縮放、傾斜、移動這四類操作.一般是配合transition的屬性一起使用。

  • none:定義不進行任何轉換,一般用于注冊掉該轉換。

  • transform-functions:定義要進行轉換的類型函數。主要有:

    1、旋轉(rotate):主要分為2D旋轉和3D旋轉。rotate(angle),2D 旋轉,參數為角度,如45deg;rotate(x,y,z,angle),3D旋轉,圍繞原地到(x,y,z)的直線進行3D旋轉;rotateX(angle),沿著X軸進行3D旋轉;rotateY(angle);rotateZ(angle);

    2、縮放(scale):一般用于元素的大小收縮設定。主要類型同上,有scale(x, y)、scale3d(x, y, z)、scaleX(x)、scaleY(y)、scaleZ(z),其中x、y、z為收縮比例。

    3、 傾斜(skew):主要用于對元素的樣式傾斜。skew(x-angle, y-angle),沿著x和y軸的2D傾斜轉換;skewX(angle),沿著x軸的2D傾斜轉換;skew(angle),沿著y軸的2D傾斜轉換。

    4、移動(translate):主要用于將元素移動。translate(x, y),定義向x和y軸移動的像素點;translate(x, y, z),定義像x、y、z軸移動的像素點;translateX(x);translateY(y);translateZ(z)。

<h6>transition配合transform一起使用</h6>
<div class="base base2"></div>
.base2{
          transform:none;
          transition-property: transform;
          &:hover {
              transform:scale(0.8, 1.5) rotate(35deg) skew(5deg) translate(15px, 25px);
          }
      }

運行效果:

css3動畫類型有幾種

可以看到盒子發生了旋轉,傾斜,平移,放大。

animation自定義動畫

為了實現更靈活的動畫效果,css3還提供了自定義動畫的功能。

(1) name:需要綁定到選擇器的keyframe名稱。
(2) duration:完成該動畫需要花費的時間,秒或毫秒。
(3) timing-function:跟transition-linear一樣。
(4) delay:設置動畫在開始之前的延遲。
(5) iteration-count:設置動畫執行的次數,infinite為無限次循環。
(6) direction:是否輪詢反向播放動畫。normal,默認值,動畫應該正常播放;alternate,動畫應該輪流反向播放。

<h6 class="title">animate自定義動畫</h6>
<div class="base base3"></div>
.base3 {
          border-radius: 50%;
          transform:none;
          position: relative;
          width: 100px;
          height: 100px;
          background: linear-gradient(
                  35deg,
                  #ccffff,
                  #ffcccc
          );
          &:hover {
              animation-name: bounce;
              animation-duration: 3s;
              animation-iteration-count: infinite;
          }
      }
      @keyframes bounce{
          0% {
              top: 0px;
          }
          50% {
              top: 249px;
              width: 130px;
              height: 70px;
          }
          100% {
              top: 0px;
          }
      }

運行效果:

css3動畫類型有幾種

可以看到,自定義動畫能實現更靈活的動畫效果,包括了第一種和第二種動畫的所有功能,而且屬性也更全面。

以上是“css3動畫類型有幾種”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江津市| 高碑店市| 长白| 大邑县| 龙州县| 云林县| 碌曲县| 乌鲁木齐市| 昌平区| 米林县| 商丘市| 桦甸市| 甘孜县| 临安市| 惠来县| 神农架林区| 左云县| 潜山县| 长武县| 通道| 江门市| 延安市| 南和县| 武定县| 卢龙县| 阳曲县| 鱼台县| 壤塘县| 会泽县| 米易县| 安岳县| 邵阳县| 张家界市| 新密市| 甘南县| 平定县| 黄骅市| 华亭县| 太康县| 宿州市| 乌鲁木齐县|