Dalam tutorial kedua dalam siri ini, anda mempelajari cara menggunakan KUTE.js untuk menganimasikan sifat CSS yang berbeza bagi elemen pada halaman web. Anda mempelajari cara menghidupkan semua sifat mengubah, serta sifat seperti border-radius
dan border-color
. Anda juga boleh menggunakan pemalam CSS untuk menghidupkan sifat CSS seperti font-size
, line-height
, jarak-huruf
dan jarak-huruf
. border-radius
和 border-color
等属性设置动画。您还可以使用 CSS 插件对 CSS 属性进行动画处理,例如 font-size
、line-height
、letter-spacing
和 字间距
。
KUTE.js 还有一个文本插件,允许您通过增加或减少倒计时等数字或逐字符写入字符串来为不同元素内的文本设置动画。
在本教程中,您将学习如何使用 KUTE.js 中的 CSS 和文本插件为网页上不同元素内的文本设置动画。
正如我之前提到的,您可以使用 KUTE.js CSS 插件为四个不同的与文本相关的 CSS 属性设置动画。这些属性是 font-size
、line-height
、letter-spacing
和 word-spacing
。我们还将使用第一个教程中讨论的核心引擎的一些属性来为单个字母设置动画。让我们看看如何在下面的演示中结合使用所有这些概念来创建振动 HELLO 文本。
以下是用于创建上述动画的代码:
var theLetters = document.querySelectorAll("span"); var h = document.querySelector(".h"); var e = document.querySelector(".e"); var la = document.querySelector(".la"); var lb = document.querySelector(".lb"); var o = document.querySelector(".o"); var startButton = document.querySelector(".start"); var animateColor = KUTE.allFromTo( theLetters, { color: 'white' }, { color: 'red' }, { offset: 200, duration: 50} ); var animateFontSize = KUTE.allFromTo( theLetters, { fontSize: '2em' }, { fontSize: '4em' }, { offset: 100, duration: 200, repeat: 10, yoyo: true} ); var animateSkewing = KUTE.allTo( theLetters, { skewX: -15}, { offset: 200, duration: 200 } ); var animateH = KUTE.to( h, { color: '#009688' } ); var animateE = KUTE.to( e, { translateY: -40, color: '#E91E63' } ); var animateLA = KUTE.to( la, { color: '#8BC34A' } ); var animateLB = KUTE.to( lb, { translateY: 20, color: '#FFC107' } ); var animateO = KUTE.to( o, { color: '#FF5722' } ); var lettersSqueezed = KUTE.allTo( theLetters, { letterSpacing: '-15px' }, { offset: 0, duration: 200 } ); animateColor.chain(animateFontSize); animateFontSize.chain(animateSkewing); animateSkewing.chain(animateH, animateE, animateLA, animateLB, animateO); animateE.chain(lettersSqueezed); startButton.addEventListener( "click", function() { animateColor.start(); }, false );
单词的每个字母都包含在 span
标记内,并具有自己独特的类。第一个补间动画将所有字母的颜色从白色变为红色,偏移量为 200 毫秒。这也是点击开始动画后播放的第一个动画。 animateFontSize
补间已链接到 animateColor
。这样,一旦彩色动画结束,font-size
动画就会开始。
您可能已经注意到,我使用了两个名为 repeat
和 yoyo
的属性来控制动画的行为。 yoyo
属性用于反转当前正在重复播放的动画。这样可以避免动画过程中不同属性的值突然跳跃,使其显得平滑。
font-size
动画已与 animateSkewing
链接,它将所有字母倾斜 -15 度。 skewX
和 skewY
属性在核心引擎本身中可用。
所有用于对不同字母的颜色进行动画处理的补间已立即链接到 animateSkewing
。这样,您可以确保倾斜动画结束后所有链接的颜色动画都开始播放。最后,lettersSqueezed
补间将不同字母之间的间距减少 15 px。
您可以通过使用不同的属性组合来创建更有趣的效果。
您还可以在 KUTE.js 中对数字进行动画处理。但是,您必须包含额外的文本插件才能创建动画。
数字动画的过程实际上非常简单。您只需指定应显示动画编号的选择器以及动画应结束的最终编号。
这是一个基本示例,使用动画显示 2016 年美国机场的总数。
var usa = document.querySelector(".usa"); var startButton = document.querySelector(".start"); var animateUSA = KUTE.to( usa, { number: 19536 } ); startButton.addEventListener( "click", function() { animateUSA.start(); }, false );
您还可以应用常用的补间选项,例如 duration
、repeat
和 delay
Sifat teks CSS animasi
font-size
, line-height
, huruf-spacing
dan jarak perkataan
. Kami juga akan menghidupkan huruf individu menggunakan beberapa sifat enjin teras yang dibincangkan dalam tutorial pertama. Mari lihat bagaimana semua konsep ini boleh digunakan bersama untuk mencipta teksHELLOgetar dalam demo di bawah.