GSAP (GreenSock Animation Platform) предоставляет мощный инструмент
для анимации текста с помощью плагина SplitText.
Параметр type отвечает за способ разделения текста на
анимируемые единицы. Возможные значения: chars (символы),
words (слова) и lines (строки). Выбор зависит
от требуемого эффекта анимации.
chars)При указании type: "chars" текст разбивается на
отдельные символы, каждый из которых можно анимировать независимо. Это
особенно полезно для эффектов “печатающей машинки”, поочередного
появления букв, масштабирования или вращения символов.
Пример:
import { gsap } from "gsap";
import { SplitText } from "gsap/SplitText";
const myText = document.querySelector(".text");
const split = new SplitText(myText, { type: "chars" });
gsap.from(split.chars, {
duration: 0.5,
opacity: 0,
y: 50,
stagger: 0.05
});
Ключевые моменты:
split.chars возвращает массив всех символов.stagger позволяет задавать задержку между анимацией
каждого символа.scale,
rotation, x, y.words)Использование type: "words" разбивает текст на слова,
что удобно для создания эффектов появления слов поочередно, увеличения
или перемещения текста в блоке.
Пример:
const split = new SplitText(myText, { type: "words" });
gsap.from(split.words, {
duration: 0.7,
opacity: 0,
y: 30,
stagger: 0.1,
ease: "back.out(1.7)"
});
Особенности анимации слов:
lines)При type: "lines" текст делится на строки. Каждая строка
становится отдельным анимируемым элементом. Подходит для эффектов
подъема строк, поочередного появления блоков текста, анимации цитат или
параграфов.
Пример:
const split = new SplitText(myText, { type: "lines" });
gsap.from(split.lines, {
duration: 1,
opacity: 0,
y: 20,
stagger: 0.3,
ease: "power2.out"
});
Особенности строковой анимации:
words и chars для
сложных эффектов.Плагин SplitText поддерживает сочетания: "words,chars",
"lines,words", "lines,chars". Это позволяет
создавать более сложные эффекты с контролем на нескольких уровнях.
Например:
const split = new SplitText(myText, { type: "lines,chars" });
gsap.from(split.chars, {
duration: 0.6,
opacity: 0,
y: 20,
stagger: {
each: 0.02,
from: "start",
grid: "auto"
},
ease: "power3.out"
});
Применение комбинированного разделения:
stagger на нескольких
уровнях.typechars — анимация выглядит динамичной.words — легче контролировать тайминг.lines — появляется структурированная
последовательность.x, y,
scale, rotation) — комбинируется с любым
type, создавая эффектные визуальные эффекты.Параметр type — фундаментальный инструмент для тонкой
настройки анимации текста в GSAP. Он позволяет выбрать уровень
детализации: символы, слова или строки, а комбинации открывают широкий
спектр эффектов для заголовков, параграфов и интерактивного текста.