انیمیشن SVG (لوگو، آیکون، نمودار)
برای زندهکردن لوگوها، آیکونها و نمودارهای SVG میتوان از GSAP به همراه پلاگینهای اختصاصی آن استفاده کرد. مزیت اصلی این روش، کنترل دقیق مسیرها (path)، امکان ترکیب چند افکت و عملکرد بسیار روان است.
🟢 1. آمادهسازی SVG
SVG باید قابلهدفگیری باشد:
-
ویژگی
strokeبرای رنگ خط و "fill="noneبرای شفاف بودن داخل. -
استفاده از کلاسها یا ID برای انتخاب راحت.
🟡 2. ترسیم مسیر (Draw Effect)
پلاگین DrawSVG (عضویت Club GreenSock) یا روش CSS پیشفرض:
-
strokeDasharray= طول کل مسیر -
انیمیشن تا 0 باعث میشود خط بهتدریج ترسیم شود.
🟠 3. Morphing (تغییر شکل لوگو یا آیکون)
پلاگین MorphSVGPlugin:
-
مسیر مقصد باید تعداد نقاط قابلمقایسه داشته باشد (پلاگین خودش هموار میکند).
🟤 4. حرکت روی مسیر (Motion Path)
برای حرکت آیکون/دایره روی مسیر:
-
شیء
dotدقیقاً روی مسیر حرکت میکند.
🟣 5. افکت نمودار (Chart / Graph)
مثال ستون یا خطی:
-
برای نمودار خطی، همان تکنیک stroke-dashoffset استفاده میشود.
💡 نکات حرفهای
-
Performance: برای تعداد زیاد path از
will-change: transformو کاهش تعداد نقاط استفاده کنید. -
Timeline: چندین مرحله (ترسیم، رنگ، حرکت) را با یک Timeline هماهنگ کنید.
-
Responsive: از
viewBoxبهجای width/height ثابت استفاده کنید تا SVG در همه اندازهها واکنشگرا باشد. -
Hover/Scroll: با ScrollTrigger میتوانید انیمیشن را فقط هنگام دیدن لوگو فعال کنید.
✅ جمعبندی
-
ترسیم خطوط:
stroke-dasharrayیا پلاگین DrawSVG -
Morphing آیکونها: پلاگین MorphSVGPlugin
-
حرکت روی مسیر: پلاگین MotionPathPlugin
-
نمودارها: تغییر
height،yیاstrokeDashoffsetبرای رشد تدریجی
GSAP بههمراه این پلاگینها، انیمیشنهای SVG مثل لوگوهای متحرک، آیکونهای داینامیک و نمودارهای تعاملی را بهشکل روان و کاملاً کنترلپذیر ممکن میسازد.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React