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

溫馨提示×

溫馨提示×

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

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

CSS3動畫的實現方式

發布時間:2021-08-09 10:41:33 來源:億速云 閱讀:150 作者:chen 欄目:web開發

這篇文章主要講解了“CSS3動畫的實現方式”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“CSS3動畫的實現方式”吧!

任務

我們最近在SeatGeek更新了我們的“跟蹤"圖標,以匹配我們的新iPhone應用程序。 首席設計師在PSD中創建了具有不同狀態的心臟圖標,并在下面創建了動畫:

CSS3動畫的實現方式

什么是CSS3動畫?

在CSS中,動畫是一種讓元素逐漸改變樣式的效果。 您可以使用@keyframes關鍵字創建動畫,后跟動畫的名稱。

@keyframes heartAnimation {
  /* Animation code goes here */
}

要使動畫跨瀏覽器兼容,您需要使用供應商前綴:

@keyframes heartAnimation {
  /* IE 10+ */
}

@-webkit-keyframes heartAnimation {
  /* Safari 4+ */
}

@-moz-keyframes heartAnimation {
  /* Fx 5+ */
}

@-o-keyframes heartAnimation {
  /* Opera 12+ */
}
專門建立的學習Q-q-u-n ⑦⑧④-⑦⑧③-零①②  分享學習方法和需要注意的小細節,互相交流學習,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)

但是,對于本文的其余部分,我將為了空間而排除供應商前綴。

下一步是添加動畫效果并確定它們何時發生。 您可以使用0%到100%的百分比或使用“from"和“to"關鍵字來執行此操作,只需使用起始和結束狀態的簡單動畫。 下面是將背景顏色從黃色變為藍色,然后從黃色變為綠色變為藍色的示例。

@keyframes colorChange {
  from {background: yellow;}
  to {background: blue;}
}

@keyframes colorChange {
  0% {background: yellow;}
  50% {background: green;}
  100% {background: blue;}
}

創建關鍵幀后,您可以將動畫稱為CSS屬性。 例如,下面的代碼將運行colorChange動畫2次以上,持續時間為2秒:

.color-animation {
  animation-name: changeColor;
  animation-iteration-count: 2;
  animation-duration: 2s;
}

/* Shorthand */
.color-animation {
  animation: changeColor 2 2s;
}
計劃動畫

在看了幾次gif之后,我意識到它是一個輕微的收縮,然后擴展到比原始尺寸略大的尺寸,然后回到原來的尺寸。

Heart點擊動畫

使用上面的CSS3關鍵幀和動畫語法,這里是我用來在本頁頂部的gif中制作動畫的代碼。 它使用css變換和屬性來縮放圖像。

@keyframes heartAnimation {
  0% {transform: scale(1,1)}
  20% {transform: scale(0.9,0.9)}
  50% {transform: scale(1.15,1.15)}
  80% {transform: scale(1,1)}
}

.toggle-animation {
  animation: heartAnimation 0.7s; // no iteration count is needed as the default is 1 time
}

對于圖像,我使用的是精靈,所以我還需要更改圖像的位置以獲得紅色背景:

.toggle-animation {
  background: url('../images/animation-example-sprite.png') no-repeat -320px 0;
  animation: heartAnimation 0.7s; // no iteration count is needed as the default is 1 times
}
Loading動畫

對于一個加載狀態,我讓心臟發白并且無限地脈動in-and-out。 它還縮小并縮小到原始大小,而不是像上面的heartAnimation代碼那樣在進入原始狀態之前略大于原始大小。 以下是加載狀態的代碼:

@keyframes loading {
  0% {transform: scale(1,1) }
  50% {transform: scale(0.8,0.8) }
  100% {transform: scale(1,1) }
}

/* Notice the added 'infinite' to is used to make the animation-iteration-count */

.toggle-loading {
  background: url('../images/animation-example-sprite.png') no-repeat -160px 0; // make background white
  animation: loading 1s infinite;
  -webkit-animation: loading 1s infinite;
  -moz-animation: loading 1s infinite;
  -o-animation: loading 1s infinite;
}
查看動畫的演示

下面是我用來點擊每個圖標時動畫的JS。 JS添加并刪除了我添加動畫屬性的類。

專門建立的學習Q-q-u-n ⑦⑧④-⑦⑧③-零①②  分享學習方法和需要注意的小細節,互相交流學習,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)
$(document).ready(function(){

  $('.animation-1 .image').on('click', function(){
    $(this).toggleClass('toggle-animation');
  });

  $('.animation-2 .image').on('click', function(){
    $(this).toggleClass('toggle-animation-slow');
  });

  $('.animation-3 .image').on('click', function(){
    $(this).toggleClass('toggle-loading');
  });
});

感謝各位的閱讀,以上就是“CSS3動畫的實現方式”的內容了,經過本文的學習后,相信大家對CSS3動畫的實現方式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

杭锦后旗| 县级市| 肥东县| 阿瓦提县| 读书| 海晏县| 镇赉县| 留坝县| 莒南县| 孝义市| 漳平市| 文昌市| 喀喇| 枣强县| 岳阳市| 忻城县| 山西省| 德化县| 成武县| 韶关市| 德州市| 砀山县| 平和县| 石台县| 盘锦市| 襄汾县| 晋宁县| 自治县| 湖北省| 乌拉特中旗| 陵水| 孝感市| 延吉市| 泾川县| 枣阳市| 文安县| 博罗县| 琼结县| 定远县| 灵川县| 轮台县|