Эта ошибка возникает из-за того, что вы не импортировали и не зарегистрировали CSSRulePlugin, как указано в предупреждении. Вам не нужно регистрировать CSSPlugin, потому что он является частью ядра GSAP. Чтобы импортировать и зарегистрировать CSSRulePlugin, включите в начало вашего скрипта следующее:
import { gsap } from "gsap";
import { CSSRulePlugin } from "gsap/CSSRulePlugin";
gsap.registerPlugin(CSSRulePlugin);
I весьма рекомендуем использовать GSAP Install Helper , пока вы не освоитесь с импорт / регистрация формата.
Примечание: вам не нужно явно использовать объект css
внутри подростков большую часть времени. GSAP обнаруживает, что это объект DOM, и пытается использовать CSSPlugin, если распознает его как объект DOM. visibility
также не является анимируемым свойством, поэтому вместо него следует использовать .set()
:
tl.set(container.current, { visibility: "visible" })
.to(imageReveal, { duration: 1, cssRule: { width: "0%" }, ease: "power2.in" });
Обратите внимание, что вы используете объект cssRule
для воздействия на что-то, полученное с помощью .getRule
Также обратите внимание, что я Также для удобства использовалась сжатая форма строки, поэтому вам не нужно импортировать ее. Лучше использовать scaleX
вместо width
, если вы можете, потому что использование transform
s не вызывает перекомпоновку, как изменение ширины элемента.
Документы GSAP должны быть в состоянии ответить на большинство подобных вопросов в будущем:)