CSSアニメヌションのヒント、ラむブラリなど

CSSアニメヌシンのヒントト、ラむブラリなど



はじめに



深い倜でした。 月明かりが暗い郚屋を朚補の窓から突き抜けたした。 圌はラップトップ、ノヌトブック、青ペンで私の朚補のテヌブルを十分に照らしたせんでした。 そこで、私は机のランプに手を䌞ばしお点灯させたした。



Web開発に関する蚘事ずラむブラリのリストを含むテキストファむルがコンピュヌタヌで開かれたした。 圌は垞に新しいデヌタで曎新されおいたした。



それを止めお、 私は映画通を探しお倖に出たした。デッドプヌルはブラりザを走らせ、むンタヌネットをさたよいたした。 散歩䞭に、css-animationを䜜成するための興味深いjs-libraryに出䌚いたした。それは、その前に開いたテキストドキュメントに远加したした。



...その日から、考えは頭に浮かんだ。「 デッドプヌルを芋たこずはない 。この情報を構造化し、人々に䌝える時だ」 したがっお、 クラりドIDEでの䜜業䞭に「mr。 Gefest」 、私はあなたが今読んでいる蚘事を曞くために、いく぀かの倜を割り圓おたしたそれは、決しお少ないずは限りたせんでした。



その䞭で、css-animationずは䜕か、存圚するラむブラリcss / jsを孊び、他のサむトから既補の゜リュヌションのリストを取埗し、web-animationの新しいテクノロゞヌに぀いお孊びたす。



それでは始めたしょう。



CSSアニメヌション



CSSアニメヌションは、サむトを掻性化するためのWebテクノロゞヌの゚メラルドです。 これを䜿甚するず、JavaScriptを䜿甚せずにオブゞェクトの矎しく滑らかな遷移色の倉曎、サむズ倉曎などを䜜成できたす。



CSS-TransitionsずCSS-Animationsで構成されたす。



遷移を䜿甚するず、css-propertiesを倉曎するずきにアニメヌションの速床を制埡できたす。

アニメヌションを䜿甚するず、いく぀かの䞭間遷移を含むより耇雑なアニメヌションを䜜成できたす。



゚フェクトを䜜成するずきは、CSS倉換ずコンテンツの疑䌌芁玠疑䌌芁玠がよく䜿甚されたす。



倉換を䜿甚するず、DOM芁玠をスケヌリング、回転、移動、傟斜できたす。

前埌のコンテンツ擬䌌芁玠を䜿甚するず、htmlを倉曎せずに、芁玠の前埌にcssを介しおコンテンツを远加できたす。



むンタヌネットには 、CSS-Transitions、CSS-Animations、CSS-Transformsおよびcontent pseudo-elementsの各芁玠を詳现に説明したせん。 それらを完党にカバヌしおいる蚘事がありたす 。



ブラりザサポヌト



クロスブラりザCSSアニメヌションキヌフレヌムを䜜成するためのラッパヌ





CSSアニメヌションのヒント



 アニメヌションは、ナヌザヌずむンタヌフェむス間の盞互䜜甚を改善するためにのみ䜿甚しおください。


むンタヌフェむスのアニメヌションは、プログラムずナヌザヌ間のコミュニケヌションを改善するためにのみ䜿甚する必芁がありたす。 それが矎しいか、たたは珍しいためだけに貌り付けないでください。 事前に十分に怜蚎する必芁がありたす。



怜玢でブロックを開くず、フィヌルド、タむトル、およびボタンが異なる速床で異なるアニメヌションを衚瀺する堎合がありたす。 むンタヌフェむスの挫画のように。 これにより、䞍快感ず䞍䟿さが生じたす。



さらに、倧量のアニメヌションを䜿甚するず、GPUで個別に凊理したずしおも、ブラりザの速床が䜎䞋し始める堎合がありたす。



 可胜な堎合は垞に、アニメヌションにパフォヌマンスCSSプロパティを䜿甚したす


cssプロパティを倉曎するず、ブラりザはDOMを衚瀺する4぀の段階 スタむル 、 レむアりト 、 ペむント 、 コンポゞットの 再蚈算 を実行したす 。



スタむルの蚈算スタむルの再蚈算-すべおのCSSルヌルず各DOM芁玠の最終スタむルの蚈算を分析したす。



レむアりト レむアりトの再蚈算 -画面䞊の芁玠の䜍眮、サむズ、その他の䞻芁デヌタの決定。



描画 ペむント-芁玠のすべおの芖芚的郚分の出力色、テキストサむズ、フォント、画像、圱など。



レむアりト 耇合-描画されたすべおの芁玠が単䞀の構成に組み立おられたす。



スタむルの蚈算、レむアりトの再蚈算レむアりトおよび描画ペむントは、コンポゞットレむアりトよりも倚くのリ゜ヌスを消費したす。



たずえば、cssプロパティ " transformtranslate "の堎合、すべおの倉曎が発生する远加の䞍可芖レむダヌが䜜成されたす。 レむアりト段階で凊理され隣接する芁玠をシフトせずに䞍可芖の远加レむダヌで、CPUではなくGPUで実行されたす。 GPUを䜿甚するこずにより、倉曎は遅延なくスムヌズに行われたす。 あなたはビデオでそれを芋るこずができたす。



アニメヌション䞭にCPUの代わりにGPUを䜿甚するこずは、䞭倮プロセスのリ゜ヌスが限られおいる携垯電話やタブレットで特に効果的です。



cssプロパティには、衚瀺の4぀の段階を経るものず、1぀たたは2぀の段階を経るものがありたす。 それらを知り、アニメヌションでそれらを適切に適甚する必芁がありたす。 たずえば、䞀郚のDOMオブゞェクトの「高さ」を倉曎する堎合、ブラりザはスタむル、レむアりト、ペむント、コンポゞットの再蚈算を行う必芁がありたす。これにより、他のペヌゞ芁玠が移動する可胜性があるためです。サむズおよびその他のパラメヌタヌ。



リンカヌたたはPaint + Compositeを通過するCSSプロパティのみを䜿甚するようにしおください 。



関連資料





 will-changeを䜿甚しおアニメヌションを賢く最適化する


比范的最近登堎したcss-property- will-change 。 これを䜿甚するず、特定のプロパティが倉曎され、アニメヌションを開始する前にその蚈算を最適化する必芁があるこずをブラりザヌに䌝えるこずができたす。



Will-changeの倀は次のずおりです。



あなたが曞く堎合

.text { will-change: opacity; -webkit-transition: opactiy 0.5s ease; -moz-transition: opactiy 0.5s ease; -o-transition: opactiy 0.5s ease; transition: opactiy 0.5s ease; } .text:hover { opacity:0.6; }
      
      





そのブラりザは、事前に「.text」のアニメヌションを最適化しようずしたす。



最適化はRAMの䞀郚を占めるため、䞀郚のWeb開発者は、倉曎を挿入する方が、すぐではなく、アニメヌションの開始前、完了埌-削陀の方が良いこずを実隓的に発芋したした。 これを行わないず、99の時間このアニメヌションが䜿甚されおいなくおも、サむトは远加のメモリを占有したす。 このような倉曎の远加ず削陀は、javascriptを䜿甚しお行われたす。



アニメヌションが頻繁に呌び出される芁玠がサむトに含たれおいる堎合、スタむルですぐに意志の倉曎を指定するこずは論理的です。



ブラりザサポヌト



レビュヌ甚の蚘事





 アニメヌションの速床を賢く遞択する


ナヌザヌむンタヌフェむスにさたざたな皮類の効果を実装する堎合、実行速床を正しく遞択する必芁がありたす。 たずえば、ダむアログは開くずきに䞀床にゆっくりずスムヌズに開き、閉じるずきにすぐに離れる必芁がありたすタスクを完了した埌、ナヌザヌはポップアップりィンドりをすばやく閉じたす。 平均しお、アニメヌションは500ミリ秒を超えおはなりたせん。



 パッケヌゞで読み取りおよび曎新操䜜を収集する


これはできたせん

 var b1=document.getElementById('box1'); var b2=document.getElementById('box2'); var b3=document.getElementById('box3'); var b2W=b2.offsetWidth; b2.style.left=b2W+'px'; var b3W=b3.offsetWidth; b3.style.left=b3W+'px'; b1.style.left='0';
      
      





そしおそれが必芁です

 var b1=document.getElementById('box1'); var b2=document.getElementById('box2'); var b3=document.getElementById('box3'); var b2W=b2.offsetWidth; var b3W=b3.offsetWidth; b2.style.left=b2W+'px'; b3.style.left=b3W+'px'; b1.style.left='0';
      
      





なんで

過去のヒントを読んだ堎合、画面にデヌタを衚瀺するずきに、ブラりザヌはスタむルの蚈算、レむアりトの蚈算、レンダリング、レむアりトの4぀の衚瀺段階を経るこずを孊びたした。



悪い䟋では、「 var b3W = b3.offsetWidth; 」および「 var b3W = b3.offsetWidth; 」の行でレむアりトが2回再蚈算されたす。その前にcssプロパティ巊が倉曎されたためです。 再カりントしないず、cssプロパティの新しい倀が圱響する可胜性があるため、ブラりザは「offsetWidth」を正確に刀断できたせん。



読み取りおよび曎新操䜜をグルヌプ化しおください



远加資料





 ブラりザベヌスの開発者ツヌルを䜿甚しおアニメヌションをテストする


奇劙なこずですが、この間ずっず、ブラりザでアニメヌションをテストするこずに぀いおの資料に出くわしたせんでした。 しかし、このトピックは別の蚘事に倀したす。



ブラりザで開発者ツヌルを䜿甚するず、修正が必芁なリ゜ヌス集玄型のアニメヌション操䜜を芋぀けるこずができたす。 だから圌らず䞀緒にアニメヌションをテストしおください



このヒントでは、アニメヌションをテストするためのいく぀かのブラりザヌの機胜に぀いお簡単に説明したす。



Google Chrome


Google Chromeでアニメヌションをデバスする



Chromeでアニメヌションをデバッグするのが最善です。 開発者のツヌルバヌ「タむムラむン」には以䞋がありたす。



Google Chromeのデバッグ情報では、どの操䜜を最適化する必芁があるか、どの操䜜が適切に機胜するかがわかりたす。 圌のヒントには、修正方法に関する蚘事ぞのリンクがありたす。 他のブラりザではこれを芋おいたせん。



サファリ


サファリでアニメヌションをデバスする



Safariでは、アニメヌションは[レむアりトずレンダリング]セクションの[タむムラむン]タブで評䟡されたす。



タむムラむンの䞊のブロックでは、サむトを衚瀺する特定の段階がい぀珟れたかを確認できたす。 䞋のブロックには、実行順序が衚瀺されたす。 「フレヌムのレンダリング」サブセクションで、各ステヌゞに関する詳现情報を取埗したす。



Safariでは、アニメヌション化の遅れが少し有益なように思えたした。 Google Chromeずは異なり、改善するためのヒントはありたせん。



Mozilla Firefox


Mozilla Firefoxでアニメヌションをデバスする



アニメヌションのテストには最適ではありたせん。 アニメヌションのすべおの手順ずその順序のブロックを含むタむムラむンがありたす。 手順の詳现が欠萜しおいたす。



Firefoxは、htmlおよびサむトパフォヌマンスの解析プロセスガベヌゞコレクション操䜜の実行、html / xmlの解析、CC Graphの削枛などのテストに適しおいたす。



 requestAnimationFrame関数を䜿甚する


以前は、jsでアニメヌションを䜜成するずきに、setInterval / setTimeoutを䜿甚しおいたした。 繰り返し間隔1000ms / 60fps= 16.7msが理想的を蚭定し、゚フェクトをトリガヌしたした。 この゜リュヌションには倚くの欠点がありたした。



幞いなこずに、技術は止たりたせん。 これらの問題を解決するために、 requestAnimationFrame関数が考案されたした。 その利点



新しい゜リュヌションのマむナス面



远加資料





 タスクに基づいおラむブラリのタむプcssたたはjsを遞択したす


各タむプのラむブラリには長所ず短所がありたす。 圌らは遞択するずきに考慮する必芁がありたす。



cssラむブラリの利点



cssラむブラリの欠点



jsラむブラリの利点



jsラむブラリの欠点



3番目のタむプに぀いお芚えおおく䟡倀がありたす。 アニメヌションを自分で䜜成するか、完成したラむブラリから゜ヌスコヌドの適切な郚分をコピヌできたす。



それでは、cssおよびjsラむブラリの研究に移りたしょう。



CSSラむブラリ



特別なcssラむブラリを䜿甚するず、簡単なアニメヌションをすばやく䜜成できたす。



アニメヌションは、javascriptを䜿甚しお、たたは手動でクラスを介しお接続されたす。 既存のラむブラリを怜蚎しおください。



Animate.css
Animate.css


アニメヌションラむブラリ-Animate.css



75の゚フェクトを備えたラむブラリ。 2011幎から存圚したす。 2013-14幎たで、圌女はオンラむン゚フェクトコンストラクタヌを提䟛しおいたした。 その埌、開発者はそれを削陀し、Gulp.jsを䜿甚しおビルドゞェネレヌタヌを䜜成したした。 すべおの゚フェクトは@keyframesを䜿甚したす。



販売ペヌゞで䜿甚するず䟿利です。



ラむブラリの䜜成者は、゚フェクトを14のカテゎリに分けたした。

  • 泚意を求める人;
  • 跳ねる入り口;
  • バりンス出口;
  • フェヌゞング入口
  • フェヌゞング出口
  • 足ひれ
  • 光速
  • 入り口の回転;
  • 回転出口;
  • スラむド匏゚ントランス
  • スラむド出口
  • ズヌム゚ントランス
  • ズヌム出口
  • スペシャル


りェブサむト Animate.css



Effeckt.css
Effeckt.css


アニメヌションを䜜成するためのラむブラリ-Effeckt.css



Effeckt.cssは2013幎に登堎したした。 これにより、ダむアログボックスの倖芳甚の矎しいアニメヌションをすばやく䜜成したり、タブを切り替えたり、アむテムを远加したりできたす。



他のようなタむプやスタむルではなく、特定の目的によっお効果を分類したす。

  • ダむアログボックスの34の効果。
  • 特定の芁玠の近くの情報ブロックの倖芳に察する23の効果。
  • 任意のデヌタアむコン、テキストなどのボタンをオヌバヌレむするための20の効果。
  • リスト項目の出珟/消滅の8぀の効果;
  • リストアむテムをスクロヌルする8぀の効果。
  • ナビゲヌションパネルモバむルパネルの衚瀺/非衚瀺の27の効果;
  • ペヌゞ間の15の遷移効果。
  • 画像カヌドたたは、たずえば、写真ギャラリヌに远加情報が衚瀺される18の効果。
  • 4぀のシンプルなヒント効果。
  • スむッチの4぀の効果。
  • タブ甚の7぀の効果。


Effeckt.cssはSCSSで蚘述されおおり、その効果のほずんどは@keyframesを䜿甚しないため、そのコヌドは他のものよりも軜量です。



りェブサむト Effeckt.css



Hover.css
Hover.css


アニメヌションを䜜成するためのラむブラリ-Hover.css



アむテムにカヌ゜ルを合わせたずきにトリガヌされる゚フェクトを䜜成するためのラむブラリ。 ボタンに䜿甚するず䟿利です。



アニメヌションは次のカテゎリに分類されたす。

  • 2D倉換の27の効果。
  • 芁玠の背景を倉曎する18の効果。
  • テキストずアむコンを含む芁玠の27の効果。
  • 境界線移行の18の効果。
  • 圱付きの7぀の効果。
  • 䞉角圢の倖芳の8぀の効果ツヌルチップなど。
  • 4぀の曲げ効果。


Hover.cssは、less、scss、cssで蚘述されおいたす。



りェブサむト Hover.css



魔法のアニメヌション
魔法のアニメヌション


アニメヌションを䜜成するためのラむブラリ-魔法のアニメヌション



Animate.cssに基づきたす。 他のラむブラリずは異なり、 倚くの異垞な効果がありたす。

  • 魔法の
  • ブリン
  • 静的効果;
  • 3Dパヌスペクティブ;
  • 3Dタヌン;
  • スラむド
  • 耇雑な動き;
  • 爆発効果あり;
  • 空間;
  • その他。


りェブサむト 魔法のアニメヌション 。



すごい
すごい


アニメヌションラむブラリ-玠晎らしい



Awesomeは、玔粋なcssで曞かれた、りクラむナの開発者による89個の゚フェクトのセットです。 これらは12のカテゎリに分けられたす。

  • フェヌド
  • スラむド
  • バりンス
  • ロヌル
  • ロトボ;
  • フリップ;
  • 回転
  • 回す
  • 戻る
  • プッシュ
  • クリップ;
  • その他


販売ペヌゞで䜿甚するず䟿利です。



りェブサむト Awesome

ラむブラリの開発者向け蚘事 。



無塗装
無塗装


アニメヌションラむブラリ-再描画なし



矎しいアニメヌションを䜜成するための小さなラむブラリ。 コヌドはscssで曞かれおいたす。 11の既補の効果を提䟛したす。

  • 右からスラむドしたす。
  • 巊からスラむド。
  • 䞊からスラむドしたす。
  • 䞋からスラむドしたす。
  • 右䞋からスラむドしたす。
  • 右䞊からスラむドしたす。
  • 巊䞋からスラむドしたす。
  • 巊䞊からスラむドしたす。
  • 巊右にスラむドしたす。
  • 䞊䞋にスラむドしたす。


りェブサむト Repaintless 。



すべおのアニメヌション
すべおのアニメヌション






36の既補の゚フェクトずシンプルなUIコンポヌネントのセットを備えたラむブラリ。 圌のアニメヌションは8぀のカテゎリに分類されたす。

  • バりンス
  • 遠近法
  • フェヌゞング入口
  • 回転
  • Agreccives;
  • 凡䟋
  • ポヌトレヌト。


CSSで曞かれおいたす。



りェブサむト すべおのアニメヌション



レヌベンゲン
レヌベンゲン


アニメヌションラむブラリ-Reboundgen



27の既補゚フェクトのアニメヌションラむブラリ。 Facebook Rebound.jsに基づいおいたす。



json-objectおよびreboundGet.jsスクリプトを䜿甚しおcss-animationを生成できたす。 スクリプトを䜿甚しお独自の効果を䜜成し、埌でサむトでjsを䜿甚せずにcssのみを䜿甚できるため、これは䟿利です。



既補のcss゚フェクトず生成メカニズムのため、JavaScriptリストではなくcssにラむブラリを含めるこずにしたした。



りェブサむト Reboundgen



圢態力孊
圢態力孊


アニメヌションラむブラリ-圢態力孊



Morphodynamicsは、矎しい効果を䜜成するためのラむブラリです。 47のアニメヌションオプションを提䟛したす 。



すべおの効果は6぀のグルヌプに分けられたす。

  • 雑倚
  • 背景
  • 境界線の遷移
  • シャドりトランゞション
  • 2D倉換
  • 泡。


16のスタむリング甚の既補のテヌマがありたす。 このラむブラリは、ボタン、メニュヌ、補品カヌドヘッダヌのアニメヌションを䜜成するのに適しおいたす。



元のコヌドはlessで曞かれおいたす。



りェブサむト Morphodynamics 。



しゅう
しゅう


アニメヌションを䜜成するためのラむブラリ-Css3animateit



アニメヌションを䜜成するためのシンプルなラむブラリ。



37既補の効果がありたす。

  • バりンス
  • growIn;
  • フェデむン;
  • 振る
  • RotateIn;
  • RollIn;
  • Wiggle;
  • その他


少ないで曞かれおいたす。



りェブサむト Css3animateit



CSS3アニメヌションのチヌトシヌト
CSS3アニメヌションのチヌトシヌト


アニメヌションラむブラリ-CSS3アニメヌションチヌトシヌト



アニメヌション甚の16個の既補の゚フェクトを備えた小さなラむブラリ

  • SlideUp;
  • 䞋にスラむド
  • 巊にスラむド
  • 右にスラむド
  • スラむド展開䞊;
  • 展開する
  • フェヌドむン;
  • オヌプンを展開
  • 倧きな入り口
  • ハッチ;
  • その他


少数の効果にもかかわらず、それらは単䞀ペヌゞの開発におけるアニメヌションの必芁性を完党に満たしたす。



倚くのラむブラリず同様に、CSS3 @keyframesを䜿甚したす。



りェブサむト CSS3 Animation Cheat Sheet 。



火曜日
火曜日


アニメヌションラむブラリ-火曜日



既補のアニメヌションセットを備えたラむブラリ。 ゚フェクトには9぀のカテゎリがありたす。

  • フェデむン;
  • フェヌドアりト
  • 展開する
  • 切手
  • 収瞮;
  • スむング
  • DropIn;
  • プロップ;
  • ヒンゞフリップ。


合蚈で、圌の歊噚庫には29のアニメヌションがありたす。 それは少ないで曞かれおいるので、あなたはあなた自身のアセンブリを䜜るこずができたす。



りェブサむト 火曜日 。





Jsラむブラリ



ご理解のずおり、cssは宣蚀型蚀語です。 圌のアニメヌションはすべお線圢であり、状況に応じお倉化したせん。 したがっお、玔粋なcssでは、通垞のアニメヌションロゞックを䜜成するこずはできたせん。



Javascriptラむブラリは機胜を拡匵し、CSS゜リュヌションの制限を取り陀きたす。 それらを䜿甚しお、状態に応じおアニメヌションを䜜成できたす1぀の効果が終了し、別の効果が開始されたした。ナヌザヌがボタンを抌した、䜕かが珟れたなど。



js-solutionsのおかげで、3秒でオブゞェクトが移動される堎所を正確に知るこずができたす。 cssでは、すべおのステップは秒ではなくパヌセンテヌゞで決定されるため、これは達成できたせん。 オブゞェクトを移動する堎所は倧たかにしかわかりたせん。 クラむアントがアニメヌションを倉曎したい堎合は、すべおを再蚈算する必芁がありたすパヌセンテヌゞず可胜な秒の間の察応を䜜成するずき。これは時間の無駄です。



CSSアニメヌションは、GPUで蚈算が行われる堎合でもjs゜リュヌションよりも垞に高速に動䜜するずは限りたせん。 これは、Css-trickの蚘事リンク切れ、芋おいるで説明されおいたす。



既存のラむブラリは、アプリケヌションの皮類 暙準のアニメヌションず高床に特殊化されたもの およびそれらの耇雑さ 単玔および耇雑 によっお分類できたす。



シンプル


倉換アむコン
倉換アむコン


アニメヌションラむブラリ-Transformicons



8぀のグルヌプに分けられた20の矎しいアニメヌション芁玠

  • メニュヌ;
  • グリッド
  • 远加/削陀;
  • 郵䟿
  • スクロヌルむンゞケヌタ。
  • フォヌム
  • 映像
  • ロヌダヌ。


゚フェクトは、属性ずjs関数を䜿甚しお構成されたす。 オンラむンビルダヌがありたす。



りェブサむト Transformicons



Snabbt.js
Snabbt.js


アニメヌションを䜜成するためのラむブラリ-Snabbt.js



アニメヌションを䜜成するためのラむブラリ。 シンプルで盎感的なAPIを備えおいたす。 わずか5kbしかかかりたせん 。 3dmatrixを䜿甚したす。 60 FPSを宣蚀したした 。 関数呌び出しのチェヌンjQueryのようにを介しお、耇数のアニメヌションを連続しお実行できたす。



芁玠の䜍眮、幅、高さ、透明床を倉曎できたす。 ラむブラリを䜿甚しお、オブゞェクトを回転、拡倧、瞮小できたす。



5぀のむヌゞング機胜がありたす。

  • 線圢デフォルト;
  • 簡単;
  • easeIn;
  • easeOut;
  • 春。


数孊的なjs-expressionsを䜿甚しお䞀時的な関数を指定できたす。



りェブサむト Snabbt.js



Move.js
Move.js


アニメヌションを䜜成するためのラむブラリ-Move.js



䟝存関係のない別のラむブラリ。 これを䜿甚するず、生産的な倉換だけでなく、オブゞェクトの暙準プロパティ背景色、境界サむズなどを倉曎するこずもできたす。 重さは13〜14 kbです。



30のむヌゞング機胜をサポヌト

  • で;
  • アりト;
  • むンアりト;
  • スナップ;
  • 線圢;
  • クアッドむンクアッド;
  • 䜿いやすさ
  • 䜿いやすさ
  • 䜿いやすさ;
  • 簡単なサむン;
  • むヌズアりトクワッド;
  • むヌズアりトキュヌビック;
  • 緩和クォヌト;
  • 䜿いやすさ;
  • むヌズアりトサむン;
  • などなど...


Cubic-bezierを䜿甚しお䞀時関数を定矩するこずもできたす。



りェブサむト Move.js。



Animo.js
Animo.js


アニメヌションを䜜成するためのラむブラリ-Animo.js



2013幎に開発された、アニメヌションを䜜成するためのラむブラリ。 jQuery 2+のプラグむンずしお䜿甚されたす。 Animate.cssのラッパヌです。



プラグむンを呌び出すずき、それは瀺されたす

  • アニメヌションいく぀か可胜;
  • アニメヌション実行時間。
  • 繰り返し回数1回、2回、たたは無限に;
  • アニメヌションの完了埌に呌び出されるコヌルバック関数その䞭で再びAnimo.jsを䜿甚できたす;
  • 特定の効果回転の床合い、がかしの匷さなどの䞀意のプロパティ。
  • タむミング機胜。


Animo.jsの重量は7.2 kbです。



りェブサむト Animo.js



Ani.js
Ani.js


アニメヌションラむブラリ-Ani.js



珍しい䜿い方のラむブラリ。 クラスたたはjavascript関数呌び出しの暙準仕様の代わりに、デヌタ属性data-anijsを登録し、次のようなものを远加する必芁がありたす。



ifクリック、 on h1、 do pulse animated、 to h2



堎所 ラむブラリ蚀語ぞのリンク 

  • if-任意のむベント;
  • on-アニメヌションが適甚されるオブゞェクト。
  • do-効果いく぀か可胜;
  • to-むベントが発生するオブゞェクトonずtoは異なる倀たたは同じ倀を持぀こずができたす。


1぀の芁玠で、耇数の条件を䞀床に指定できたす。



その効果は15のカテゎリに分類されたす 。

  • attention_seekers;
  • bouncing_entrances;
  • bouncing_exits;
  • fading_entrances
  • fading_exits;
  • 足ひれ;
  • 光速;
  • 回転
  • rotation_entrances
  • rotation_exits;
  • スペシャル;
  • zooming_entrances
  • zooming_exits;
  • slide_entrances
  • slide_exits。


ラむブラリには70の゚フェクトがありたす 。 オンラむンビルダヌhttp://anicollection.github.io/のおかげで、目的の効果を遞択しお、AniJSのバヌゞョンを生成できたす。



りェブサむト Ani.js。



速床
速床


アニメヌションを䜜成するためのラむブラリ-Velocity.js



生産的なアニメヌション効果を䜜成するためのラむブラリ。 jQueryプラグむンずしお䜿甚できたす。 コンピュヌタヌ、電話、タブレットでIE8 +および最新のブラりザヌをサポヌトしたす。



次の理由により、効果的なアニメヌションを䜜成できたす。

  • パッケヌゞ内の読み取りおよび曞き蟌み操䜜を自動的に収集したす。
  • requestAnimationFrameを適甚したす。
  • 最終的なアニメヌション倀をキャッシュするために、生産的なcssプロパティずベストプラクティスを䜿甚したす。


他のラむブラリず同様に、それを䜿甚するず、css-propertiesず蚭定のリストが衚瀺されたす実行時、むヌゞングずコヌルバック関数、アニメヌションルヌプなど。



远加情報



りェブサむト Velocity 。



Animatic.js
Animatic.js


アニメヌションを䜜成するためのラむブラリ-Animatic.js



アニメヌションを䜜成するための小さなラむブラリ7 kb。 Chrome、Safari、Firefox、Internet Explorer 10、およびモバむルブラりザヌをサポヌトしおいたす。 効果に぀いおは、䞍透明床ず2D / 3D倉換のみが䜿甚されたす。これらは最も生産的なcssプロパティの1぀です。



䜿甚䞭に、次を指定する必芁がありたす。

  • 効果平行移動、回転、拡倧瞮小、䞍透明床;
  • リヌドタむム;
  • むヌゞング機胜25皮類;
  • 遅延。


実際の物理をシミュレヌトするには、远加のパラメヌタヌを䜿甚する必芁がありたす。



Animo.js : , .



: Animatic.js .



TransitJS
TransitJS


    - TransitJS



jQuery . css- FPS ( ).



:

  • x (px) — X;
  • y (px) — Y;
  • translate (x, y) — ;
  • rotate (deg) — ;
  • rotateX (deg) — X;
  • rotateY (deg) — Y;
  • rotate3d (x, y, z, deg) — 3D ;
  • scale (x, [y]) — / ;
  • perspective (px) — ;
  • skewX (deg) — X;
  • skewY (deg) — Y.


29 .



(.transition().transition().transition()...).



: TransitJS .



Zurb motion-ui
Zurb Motion-UI


    - Zurb Motion-UI



css- «Foundation».



5 :

  • Slide;
  • Scale;
  • Hinge;
  • Fade;
  • Spin.


3 (normal, slow, fast) 3- easing- (linear, ease, bounce). css- js-.



: Zurb Motion-UI .



Shift.js
Shift.js


    - Shift.js



, DOM data-:

  • data-animation — ;
  • data-delay — ;
  • data-duration — .


15 .



: Shift.js .



アニメヌトプラス
AnimatePlus


    - AnimatePlus



(2.8 kb) css/svg .



15 css-:

  • translateX, translateY, translateZ;
  • scale, scaleX, scaleY, scaleZ;
  • rotate, rotateX, rotateY, rotateZ;
  • skewX, skewY;
  • opacity;
  • perspective.


:

  • el — ;
  • duration — ;
  • delay — ;
  • easing — (29 );
  • loop — ;
  • direction — (normal, reverse, alternate);
  • begin — ;
  • complite — .


: AnimatePlus .





耇雑な


グリノック
GreenSock


    - GreenSock



. :

  • TweenMax — ;
  • TweenLite — TweenMax;
  • TimeLineMax — ;
  • TimeLineLite — TimeLineMax.


19 ( css- DOM , , svg- ).



flash, web-.



, . .



.



, — .



远加情報



: GreenSock .



サムサラス
SamsaraJs


    - Samsara.js



, javascript. .



:

  • Samsara.DOM.Surface — ;
  • Samsara.DOM.Context — , Surface;
  • Samsara.Core.Transitionable — () Surface- ;
  • Samsara.Core.Transform — css-transform (, Transitionable);
  • MouseInput — ;
  • TouchInput — ;
  • ScrollInput — scroll-;
  • PinchInput — ;
  • RotateInput — ;
  • ScaleInput — / .


Transitionables 9 easing ( ):

  • linear;
  • easeIn;
  • easeOut;
  • easeInOut;
  • easeOutBounce;
  • easeInCubic;
  • easeOutCubic;
  • easeInOutCubic;
  • easeOutWall.


: samsarajs.org/docs/getting-started.html .



: SamsaraJs .



ポップモヌション
Popmotion


    - Popmotion



Popmotion — .



5 :

  • Standart;
  • Actions;
  • Roles;
  • Primitives;
  • Plugins.


Standart:

  • ui — ;
  • Actor — ;
  • Iterator — ;
  • Sequence — ;
  • calc — .


Actions:

  • Simulate — ;
  • Track — ;
  • Tween — (Actor).


Roles:

  • css — css-;
  • attr — ;
  • svg — svg ;
  • drawPath — svg .


Primitives:

  • Action — (Tween/Simulate/Track) (Actor);
  • Easing — ;
  • Input — Actor, ;
  • Process — ;
  • Role — (Actor) (css, attr ).


Plugins:

  • Scroll To — DOM-.


Popmotion, Velocity, TweenLite TweenMax.https .



: Popmotion .



Mo.js
Mo.js


    - Mo.js



DOM-. , (easing functions) svg-, css- .



, css easing functions ( ). , 5 ? «», , «»?



Mo.js . svg-. . svg / . - .



Tween- Mo.js . — . .



, , API. , .



: Mo.js .



Shifty.js
Shifty.js


    - Shifty.js



4kb. :

  • ;
  • (//);
  • .


Tweenable .



, :

  • shifty.token.js — css- (, +25px, +25; rgb(0,0,0) );
  • shifty.interpolate.js — ( );
  • shifty.bezier.js — cubic-bezier;
  • shifty.formulas.js — easing functions.


(, Rekapi ).



: Shifty.js .





アニメヌションゞェネレヌタヌ



サむトおよびWebアプリケヌションを開発する堎合、暙準的な゜リュヌションでは必ずしも十分ではありたせん。そのため、䞀郚のプログラマヌは、自分や同僚のためにアニメヌションをすばやく䜜成するための特別なツヌルを開発したした。



Bounce.js


アニメヌションを生成するサむト-Bounce.js



オンラむンサヌビス「Bounce.js」により、プログラマヌぱレガントなアニメヌションを䜜成できたす。その䞭で、「コンポヌネントを远加」ボタンを䜿甚しお、次の蚭定で制埡された゚フェクトをいく぀でも远加できたす。



䜜成されたアニメヌションはcssに゚クスポヌトできたす。



CSSアニメヌション


アニメヌションを生成するサむト-Css-animate



アニメヌションを䜜成するための䟿利なWebアプリケヌション。アニメヌション化されたオブゞェクト、タむムラむン、および䞭間状態を远加するためのパネルを備えた座暙軞を提䟛したす。䞀般蚭定ず、アニメヌションの各ステヌゞキヌフレヌムの蚭定の䞡方がありたす。



䜜成されたアニメヌションのcssコヌドは、プレフィックスの有無にかかわらず取埗できたす。



スタむリヌずマントラ


アニメヌション生成サむト-Stylie and Mantra



短時間でオブゞェクトを倉換できたす。䜜成されたアニメヌションは、CSS接頭蟞の有無にかかわらずたたはrekapiに゚クスポヌトできたす。



次のプロパティをサポヌトしたす。



それは䟿利で理解できないように思えたした。



特別な堎合のラむブラリ



むンタヌネットには、暙準のシンプルおよびコンプレックス構造に分類されない倚くの偏狭な゜リュヌションがありたす。蚘事のこのセクションでそれらを怜蚎したす。



Webサむトの負荷むンゞケヌタヌを䜜成するためのラむブラリ


スピンキット
Spinkit


     - Spinkit



Spinkit — 11 css- , . translate opacity, GPU, CPU. scss.



: Spinkit .



CSSロヌダヌ
Css-loaders


     - Css-loaders



, CSS-loaders . less. 6 .



: Css-loaders .



ロヌダヌ
Loaders


     - Loaders



css- 28 . scss.



: Loaders .



枊
Whirl


     - Whirl



Whirl — . 19 . jade, less scss



: Whirl .



プリロヌダヌ
Preloaders


     - Preloaders



. 27 . , , .



: Preloaders .



Shelleylowe css-animations
Shelleylowe css-animations


     - Shelleylowe css-animations



. 7 . css.



: Shelleylowe css-animations .



テキストアニメヌション


テキスタむル
Textillate


    - Textillate



js- . css- Animate.css. .



1-2 , . .



: Textillate .



ブラスト
Blast


    - Blast



. , .



: Blast .



残り


Cssshake
CssShake


     - CssShake



CssShake — (shake). 11 . scss.



: CssShake .



走行距離蚈
Odometer


    - Odometer



Js- . . . sass coffeeScript.



: Odometer .



象城する
Iconate


    - Iconate



Iconate (icons). 19 . javascript css-.



: Iconate .



ロケットCSS
Rocket CSS


    - Rocket CSS



. -, .



Rocket CSS 8 :

  • rocketPulse;
  • rocketPulseHole;
  • rocketRotate;
  • rocketRotateHole;
  • rocketRotateGo;
  • rocketGost;
  • rocketFlip;
  • rocketCircle.


: Rocket CSS .



カスタムむヌゞング関数を䜿甚したCSS3トランゞション
CSS3 Transitions with custom easing functions


    - CSS3 Transitions with custom easing functions



javascript . hardware-acceleration.



.



: CSS3 Transitions with custom easing functions .



Dynamics.js
Dynamics.js


    - Dynamics.js



Javascript- . .



: Dynamics.js .



アニメヌション
Animsition


    - Animsition



jQuery . data- js.



10 :

  • Fade;
  • Fade up;
  • Fade down;
  • Fade left;
  • Fade right;
  • Rotate;
  • Flip X;
  • Flip Y;
  • Overlay;
  • Zoom.


:

  • IE10+;
  • Safari;
  • Chrome;
  • Firefox.


.



: Animsition .



Webアニメヌションの未来



Webアニメヌションの未来-Webアニメヌション



幎を飛んだ。アニメヌションには新しい機胜が远加されたした。そしお、すべおがうたくいくように芋えたすが、䜕かが欠けおいたす...



そしお、Web Animationsが正垞に䜜成する宣蚀型css゜リュヌションず呜什型js゜リュヌションのバランスが十分ではありたせん。



それは圌らの肯定的な偎面を結合したす



残念ながら、いく぀かのブラりザでのみサポヌトされおいたすが



他の人のために、IE10 +からの芪友がいたす。



Webアニメヌションの構文は次のずおりです。

 element.animate([ {cssProperty: value0}, {cssProperty: value1}, {cssProperty: value2}, //... ], { direction: nameDirection, //  , 'normal', 'reverse',  .. iterations: iterationCount, //   (   ) delay: delayValue, //   duration: timeInMs, //     easing: nameEaseFunction, //'linear',  ,  .. fill: nameFill //'forwards', 'backwards', 'both', 'none', 'auto' });
      
      





CSSアニメヌションを䜿甚したナヌザヌは、すぐに芋慣れた画像を芋るこずができたす。最初に、倉曎するcssプロパティが指定されたすcssのキヌフレヌムなど。次に、アニメヌション蚭定。䜜成されるず、いく぀かの䟿利なプロパティずメ゜ッドを持぀AnimationPlayerオブゞェクトを返したす。



AnimationPlayerプロパティ



AnimationPlayer:



オブゞェクトの助けを借りおGroupEffectずkeyframeEffectsペヌゞに耇数の芁玠を䞀床にアニメヌションを同期させるこずができたす。SequenceEffectでは、倚数のアニメヌションGroupEffectなどを組み合わせるこずもできたすが、同時に再生するこずもできたす。これにより、䜜業が簡単になりたす。結局、cssを䜿甚する前に、前のアニメヌションが終了するように各芁玠の遅延倀を遞択する必芁がありたす8぀のアニメヌションのシヌケンスを想像し、そのうちの1぀の実行時間を倉曎する必芁がある堎合、すべおを再蚈算する必芁がありたす。



2015幎4月9日に、アニメヌション甚の別の興味深い技術の仕様がリリヌスされたした。軌道に沿っおオブゞェクトの動きを䜜成できたす。この堎合、座暙は特別なcss-property motion-path暙準のcss-animationずweb-animationの䞡方で䜿甚できたす。ポむントは、SVGコンタヌを介しお瀺されたす。りェブアニメヌションは、これたでの仕様の倚くを確認しおいない、ずいく぀かのも実装されおいたせん。しかし、時間が止たるこずはなく、すぐに最新のブラりザのほずんどがサポヌトしたす。Webアニメヌションコンテンツ











おわりに



cssアニメヌションに関する蚘事を曞き始めたずき、2、3日で管理できるず思っおいたしたが、倚くの資料があったこずがわかりたした。したがっお、Wordでは、30ペヌゞの写真がありたせんでした。物語の完党性が䟵害されるので、私はそれを別々の蚘事に分割したせんでした。そしお、すべおが1か所にあるず䟿利です。



蚘事のすべおの远加資料を読むこずをお勧めしたす。この方法により、CSSアニメヌションをさらによく理解できるからです。楜しんでいただければ幞いです。



蚘事の䜜成ずクラりドIDEの䜜成ず䞊行しおGefest、VKontakteでのWeb開発に関するグルヌプを率いおいたす。ラむブラリ/資料が実甚的な芳点から可胜な限り有甚になるように、公開された各情報を厳密にフィルタリングしたす。したがっお、私はあなたを私たちに招埅したす。賌読者が倚いほど、有甚なラむブラリずマテリアルを公開したす新しいマテリアルの怜玢ずフィルタリングに倚くの時間を費やし、倚数のWeb開発者ず共有したいず考えおいたす。



テキストのタむプミスや誀りは個人的に送っおください。



蚘事のセクションに含たれおいない資料





All Articles