הנפשות CSS
הנפשות CSS (באנגלית: CSS animation) הוא מודול בגיליונות סגנון מדורגים (CSS), המאפשר הנפשות של אלמנטי HTML, באמצעות שינוי של תכונות עיצוב (property) שלהם, על ידי שימוש בkeyframes@ שמגדיר את השינויים המתבצעים, והוספת התכונה animation שמגדיר את אורך השינוי ותכונות נוספות לאלמנט המונפש. על אף היות המודול במעמד טיוטה, הוא נתמך כמעט בכל הדפדפנים המודרניים[1].
היסטוריה
על אף השימוש ארוך השנים בפסאודו-מחלקה :hover" כדי ליצור הנפשות בסיסיות, הרחבות של טכנולוגיית CSS לתחום ההנפשות הייתה מזערית עד תום העשור הראשון של שנות ה-2000. בשנת 2007 הכריזו מפתחי מנוע WebKit על כוונתם לכלול במנוע ה-CSS שלהם הנפשות, מעברים חלקים (transitions) וטרנספורמציות (transforms), ובפברואר 2009 הודיעו על מימוש בפועל של תכונות אלו. עם הזמן הפכו הנפשות CSS לתכונה רשמית של CSS3, הטיוטה הרשמית המפותחת על ידי ארגון World Wide Web Consortium.
תמיכה על ידי דפדפנים
נכון לדצמבר 2015, כל הדפדפנים הנפוצים, וביניהם: פיירפוקס, גוגל כרום, אינטרנט אקספלורר, מיקרוסופט אדג', כמו גם כל דפדפני המובייל (דפדפנים לסמארטפונים וטאבלטים, בעיקר) פרט לאופרה, כוללים תמיכה מלאה בהנפשות CSS.
יתרונות על פני הנפשות מבוססות JavaScript
כבר בשלבים הראשונים של פיתוח הנפשות CSS היו גורמים שהביעו ספק לגבי נחיצותן והסבירות שיחליפו הנפשות מבוססות אדובי פלאש או JavaScript[2][3][4][5]. אך למרות כל אלו, להנפשות CSS מספר יתרונות משמעותיים על ההנפשות המבוססות JavaScript, שהיו נפוצות מאוד בעבר (רבות בזכות תשתיות JavaScript כדוגמת jQuery):
- ביצועים טובים יותר, הנובעים משימוש בהאצת חומרה על ידי הדפדפנים השונים.
- תחביר פשוט יותר, גם עבור הנפשות מורכבות.
- אפשרות להפעלת הנפשות גם עם פסאודו-אלמנטים, שאינם נגישים באמצעות JavaScript.
- אפשרות להפעלת הנפשות בקלות, ללא צורך בהגדרה מחדש של מאפיינים לאורך האנימציה. לגבי ערכי צבע, לדוגמה, ניתן גם להגדירם כשמות צבעים במקום ערכיהם.
קישורים חיצוניים
- ההצעה הראשונית של חברת אפל
- CSS Animations Level 1, W3C Working Draft, 11 October 2018, אתר W3C, 11 באוקטובר 2018 (באנגלית)
- CSS animations, באתר MDN Web Docs
- אוסף דוגמאות של אנימציות CSS3 (בעברית)
הערות שוליים
- ^ CSS at-rule: @keyframes, caniuse.com (באנגלית)
- ^ Kim, Arnold (2009-02-06), CSS Animation Coming to Safari, Already in iPhone. Less Dependence on Flash?, MacRumors.com
- ^ Palmer, Robert (2009-02-06), CSS Animation to replace need for Flash in MobileSafari? Not likely, The Unofficial Apple Weblog
- ^ Ferrari, Vincent (2009-02-09), CSS Animations: A Flash Substitute?, Apple Thoughts
- ^ Snook, Jonathan (2007-10-31), CSS Animations in Safari, Snook.ca
הנפשות CSS36141539Q382741