תאריך פרסום: 1 ביולי 2026
ב-Google I/O 2026, שיתפנו שורה של עדכונים שנוספו לפלטפורמת ממשק האינטרנט. האינטרנט המודרני מציע למפתחים כלים חזקים במיוחד ליצירת חוויית משתמש איכותית ואינטואיטיבית, החל מכיבוד העדפות המשתמשים ועד ליישום אינטראקציות טבעיות, הדרכה בניווט, הפחתת עומס והתאמה למגוון גורמי צורה.
בהמשך מופיע סיכום מקיף של כל התכונות שהוזכרו בסשן בנושא 'מה חדש בממשק המשתמש של האינטרנט', שמסודרות לפי קבוצת העקרונות העיקרית שלנו בנושא חוויית משתמש.
חלק 1: כיבוד העדפות המשתמשים
התאמה אישית היא מרכיב בסיסי בשימושיות של אתרים. ממשקי API מודרניים לאינטרנט מאפשרים להתאים את האתר באופן אוטומטי לבחירות של המשתמשים ברמת המערכת. למרות שהמושגים האלה נראים בסיסיים ואנחנו מדברים עליהם כבר שנים, יש כמה ממשקי API ודפוסים חדשים שמקלים על בניית התאמה אישית דינמית.
1. contrast-color()
פונקציית ה-CSS contrast-color() מקבלת צבע קלט ומחזירה אוטומטית את הצבע black או white, בהתאם לצבע עם הניגודיות הגבוהה יותר ביחס לצבע הקלט, על סמך אלגוריתם הניגודיות המינימלית של WCAG AA. כך אפשר לוודא שהטקסט קריא בלי לשמור באופן ידני זוגות של צבעי טקסט ורקע.
מידע נוסף על "contrast-color()"
2. light-dark()
פונקציית ה-CSS light-dark() מאפשרת לציין שני ערכים שונים (צבעים או תמונות) למאפיין, אחד למצב בהיר ואחד למצב כהה, בהצהרה אחת. הדפדפן בוחר באופן אוטומטי את צבע הניגודיות הנכון על סמך color-scheme הפעיל (שצריך להיות מוגדר כ-light, dark או light dark ב-:root או ברמת ההורה).
בגרסה החדשה של light-dark(), אפשר להשתמש בערכים נוספים ולא רק בערכי צבע. החל מגרסה 150 של Chrome, אפשר להזין גם שני ערכים של תמונות.
Browser Support
3. פונקציות CSS בהתאמה אישית (@function)
הכלל @function מאפשר להגדיר פונקציות מותאמות אישית לשימוש חוזר ישירות ב-CSS מקורי. היא יכולה לקבל מאפיינים מותאמים אישית בהיקף מקומי כארגומנטים, לבצע חישובים ולהחזיר ערכים באמצעות המתאר result, וכך לצמצם את הצורך בטרום-מעבדים.
בשילוב עם שאילתות סגנון של מאגר ועם הפונקציה if() של CSS, אפשר ליצור פונקציית --light-dark() מותאמת אישית שפועלת עם כל סוג של ערך, כמו שמוצג בהדגמה הזו:
4. שאילתות בנוגע לסגנון מאגר
שאילתות סגנון הן חלק משאילתות CSS Container. הן מאפשרות למפתחים להחיל סגנונות על רכיבי צאצא על סמך ערכי המאפיינים המותאמים אישית המחושבים של מאגר אב, וכך ליצור רכיבים דינמיים בלי לדרוש הגבלת גודל מפורשת.
Browser Support
בהדגמה הזו, שאילתות סגנון משמשות להגדרת הצבעים על סמך --theme מאפיין מותאם אישית.
@container style(--theme: primary) {
.app-card {
--bg-light: #fdf2f8;
--bg-dark: #ff91d3;
--neon-glow: #f472b6;
--btn-light: #be185d;
--btn-dark: #fbcfe8;
--text-on-light: #500732;
--text-on-dark: #fff1f2;
}
}
@container style(--theme: accent) {
.app-card {
--bg-light: #f3e8ff;
--bg-dark: #4c1d95;
--neon-glow: #d8b4fe;
--btn-light: #7e22ce;
--btn-dark: #c084fc;
--text-on-light: #2e1065;
--text-on-dark: #faf5ff;
}
}
@container style(--theme: success) {
/* … */
}
5. הפונקציה if() של CSS
הפונקציה if() CSS מאפשרת להוסיף לוגיקה מותנית מוטבעת ישירות לערכי מאפייני CSS. היא בודקת סדרה של תנאים מופרדים בנקודה-פסיק (שאילתות סגנון, שאילתות מדיה או שאילתות תכונות) ומאפשרת להגדיר ערכים שונים שמשויכים לתנאי הראשון שמתקיים, עם else חלופה אופציונלית.
בהדגמה הקודמת, הפונקציה if() משמשת ליצירת בסיס של צבע ניגודיות מעוצב על סמך הפלט של הפונקציה contrast-color().
--contrast-color: contrast-color(var(--card-bg));
color: if(
style(--contrast-color: white): var(--text-on-dark);
else: var(--text-on-light)
);
6. @supports at-rule()
הפונקציה at-rule() ב-CSS לשימוש עם @supports מאפשרת למפתחים לזהות תכונות כדי לדעת אם דפדפן מזהה כלל ספציפי של @, כמו @starting-style או @view-transition.
לדוגמה, כדי לבדוק אם יש תמיכה ב-@function, משתמשים בה באופן הבא:
@supports at-rule(@function) {
/* Code for browsers that support @function goes here */
}
השימוש ב-at-rule() מאפשר רק בדיקה של תמיכה בסיסית בכלל הכלל, ולא ניתן להשתמש בו כדי לבדוק תיאורים ספציפיים, הקדמות או בלוקים מלאים של כלל. יש פתרונות עקיפים לזיהוי תכונות כמו שאילתות מעוגנות או שאילתות סגנון.
מידע נוסף על "@supports at-rule"
7. <meta name="text-scale">
תג ה-meta של ה-HTML text-scale מאפשר להגדיר את גודל הגופן הראשוני של רכיב הבסיס <html> בדף כך שיהיה יחסי להגדרות של גודל הטקסט ברמת מערכת ההפעלה והדפדפן. זה חשוב במיוחד לפלטפורמות לנייד.
כשמחילים את ההגדרה הזו, גודל הגופן ברכיב html נקבע על ידי מערכת ההפעלה, ולכן אין צורך להגדיר font-size בסיסי. אם משתמשים באורכים עם יחידות יחסיות כמו em ו-rem, ערכי הפיקסלים המחושבים מבוססים על גודל הגופן הבסיסי הזה.
<meta name="text=scale" value="scale">
<style>
html {
/* Don't set a base font-size here! */
}
</style>
בכרטיסייה Rendering (עיבוד) בכלי הפיתוח, אפשר לבצע אמולציה של גודל הגופן המועדף. משתמשים בתפריט הנפתח כדי לשנות את הערך.
מידע נוסף על "<meta name=text-scale>"
חלק 2: הטמעה של אינטראקציות טבעיות
תנועות פיזיות אינטואיטיביות ומחוות טבעיות הן המפתח ליצירת חוויית שימוש באתרים שתהיה מוחשית כמו באפליקציות מקוריות. עם CSS מודרני, קל יותר להשיג את המטרה הזו.
8. פונקציית linear() easing
פונקציית ה-easing linear() מאפשרת ליצור עקומות מעבר מורכבות בהתאמה אישית (כמו קפיצות, קפיצים או חריגות אלסטיות) על ידי אינטרפולציה לינארית בין מספר בלתי מוגבל של נקודות התקדמות שצוינו.
בדמו הבא, הפקודה linear() משמשת כדי להעניק לתיבת הדו-שיח מעבר טבעי כשהיא מוצגת או מוסתרת.
9. @starting-style
כלל ה-CSS @starting-style מגדיר את ערכי ההתחלה של מאפיינים ברכיב שרוצים ליצור ממנו מעבר, כשהרכיב מוצג לראשונה ב-DOM או כשהערך של display משתנה מ-none לערך גלוי, כדי לאפשר מעברים חלקים של כניסה.
בהדגמה הקודמת, נעשה שימוש בזה כדי להוסיף אנימציה ל-<dialog> כשהוא הופך לגלוי בפעם הראשונה.
10. transition-behavior: allow-discrete
המאפיין transition-behavior (שמשמש לעיתים קרובות כ-allow-discrete בקיצור transition) מאפשר מעבר בין מאפיינים נפרדים כמו display או overlay, וכך מוודא שהרכיבים יישארו גלויים במהלך אנימציות היציאה לפני שהם מוסתרים.
11. sibling-index() וגם sibling-count()
הפונקציות sibling-index() ו-sibling-count() CSS מחזירות מספרים שלמים שמייצגים את המיקום של רכיב מסוים מתוך קבוצת רכיבים מאותו סוג (החל מ-1) ואת המספר הכולל של רכיבים מאותו סוג, בהתאמה. הן מושלמות לחישוב דינמי של השהיות באנימציה מדורגת ב-CSS בלי JavaScript.
בדמו הזה, התוכן של תיבת הדו-שיח מוצג בהדרגה באמצעות התג sibling-index() בתג animation-delay
dialog[open] > * {
animation:
content-entry 0.6s var(--spring) forwards;
/* 0.2s delay for the first item, then staggering by 0.05s via sibling-index()
*/
animation-delay:
calc(sibling-index() * 0.05s + 0.2s);
}
12. סגירה קלה של תיבת דו-שיח (מאפיין closedby)
המאפיין closedby ברכיב <dialog> (עם הערך any) מאפשר להשתמש בהתנהגות הצהרתית של סגירה קלה, ולסגור באופן אוטומטי תיבות דו-שיח מודאליות כשלוחצים מחוץ להן או כשלוחצים על ESC, בלי צורך ב-JavaScript מותאם אישית.
אפשר לנסות את זה בהדגמה הקודמת.
13. corner-shape
מאפיין הקיצור הניסיוני corner-shape מאפשר למפתחים לשנות פינות מעוגלות (מ-border-radius) כדי ליצור צורות חזותיות מותאמות אישית כמו bevel, scoop, notch או squircle (דרך superellipse()). גבולות, צללים וקווי מתאר של מיקוד מותאמים לצורה באופן אוטומטי.
חלק 3: מתן ניווט מודרך
הנחיית התהליך שעובר המשתמש עוזרת לשמור על ההקשר ולהבין את התהליך של האפליקציה, וכך לא צריך לטעון מחדש את הדף, מה שעלול לבלבל את המשתמשים. יש כמה דרכים לעשות את זה, כולל מעברים בין תצוגות, שעברו כמה עדכונים לאחרונה.
14. מעברים בין תצוגות באותו מסמך
מעברים באותו מסמך הם חלק מ-View Transition API. הם מספקים מנגנון ליצירת אנימציה בין מצבי DOM באפליקציות של דף יחיד (SPA) על ידי צילום תמונות והעברתן באמצעות CSS.
מידע נוסף על מעברים בין תצוגות באותו מסמך
15. מעברים בין תצוגות של מסמכים
ה-API של מעברי תצוגה מורחב לאפליקציות מרובות דפים (MPA), ומאפשר ליצור מעברים חלקים עם אנימציה כשעוברים בין מסמכים שונים על ידי התאמת רכיבים עם אותו view-transition-name בדפים.
מידע נוסף על מעברים בין תצוגות במסמכים שונים
16. מעברי תצוגה בהיקף רכיב
התכונה element-scoped view transitions הושקה ב-Chrome בגרסה 147. היא מאפשרת להפעיל מעבר בין תצוגות רק בעץ משנה ספציפי של DOM (באמצעות element.startViewTransition()), תוך שמירה על פעילות ואינטראקטיביות של שאר הדף.
Browser Support
כשמתחילים מעבר תצוגה בהיקף של רכיב, הוא פועל בבידוד: הוא סורק רק את עץ המשנה הזה כדי למצוא רכיבים עם view-transition-name, והפסאודו ::view-transition מוזרק לשורש ההיקף עצמו. הבידוד מתאפשר בזכות היישום האוטומטי של view-transition-scope: all.
כך אפשר להפעיל כמה מעברים בין תצוגות בו-זמנית, וגם להטמיע מעברים בין תצוגות בתוך מעברים אחרים: בזמן שהפריטים ברשימות האלה מתערבבים, אפשר גם להחליף את הרשימות עצמן.
בנוסף, פסאודו-הקבוצות מוטמעות אוטומטית, והגלישה של פסאודו-הצאצאים של הקבוצה המקיפה נחתכת כשצריך.
מעברי תצוגה בהיקף מוגבל מתאימים במיוחד לאינטראקציות קטנות ולשינוי צורה של מצב בדף, ומספקים למשתמשים יותר הקשר כשמתרחש שינוי חזותי. זו דרך מצוינת לשפר את השימושיות של האפליקציה, וגם את המראה והתחושה שלה. הדברים הקטנים האלה עושים הבדל גדול!
מידע נוסף על מעברים בין תצוגות בהיקף של רכיב
17. מעברים בין תצוגות בשני שלבים
זו תכונה ניסיונית שמתחילה מיד מעבר בין תצוגות במסמכים שונים, בלי לחכות ש-DOM החדש יהיה מוכן. קודם מתבצע מעבר למסך שלד ביניים או לממשק משתמש של טעינה, ואז ממשיכים עם המעבר בין תצוגות במסמכים שונים.
מידע נוסף על מעברים בין תצוגות בשני שלבים
18. אנימציות מבוססות-גלילה
אנימציות מבוססות-גלילה מקשרות את ההתקדמות של אנימציית CSS ישירות למיקום הגלילה של מאגר גלילה, ומאפשרות למפתחים ליצור ממשקים מבוססי-גלילה כמו אפקטי פרלקס יעילים ואינדיקטורים של גלילה.
- מידע נוסף על אנימציות שמופעלות בגלילה
- דוגמאות לאנימציות מבוססות-גלילה
- קורס וידאו חינמי בן 10 חלקים בנושא אנימציות מבוססות גלילה
19. אנימציות שמופעלות בגלילה
חידוש ב-Chrome: אנימציות שמופעלות כשמגלגלים את המסך. אנימציות שמופעלות בגלילה מפעילות אנימציית CSS רגילה שמבוססת על זמן כשחוצים גבול גלילה (באמצעות timeline-trigger להגדרת הטריגר ו-animation-trigger להפעלת האנימציה), ומספקות חלופה הצהרתית ל-IntersectionObserver.
Browser Support
המנגנון הבסיסי של אנימציות שמופעלות בגלילה הוא טריגרים של ציר זמן, שהם פעילים או לא פעילים.
.element {
timeline-trigger:
--t
view()
contain 25% contain 75% / entry 105% exit -5%
;
}
כדי לראות מה קורה, מפעילים את כלי ההמחשה בהדגמה הבאה: הטווח הראשון הוא טווח ההפעלה, והוא קובע מתי הטריגר הופך לפעיל. הטווח השני הוא הטווח הפעיל, שקובע כמה זמן הוא צריך להישאר פעיל.
מידע נוסף על אנימציות שמופעלות בגלילה
20. scroll-target-group: auto
עכשיו אפשר ליצור רכיב CSS מקורי למעקב אחר גלילה, שמדגיש באופן אוטומטי קישורי ניווט על סמך מיקום הגלילה של המשתמש. אם מגדירים את scroll-target-group: auto ברשימת ניווט, הדפדפן מגדיר באופן אוטומטי את aria-current="true" ומחיל את פסאודו-המחלקות :target-current על הקישור הפעיל. אחר כך אפשר להשתמש ב-:target-current כדי להוסיף סגנון לקישורים הפעילים.
מידע נוסף על CSS scroll-spy עם scroll-target-group
21. אפשרות scrollIntoView() מאגר
ה-method scrollIntoView() כולל עכשיו את האפשרות container. הגדרת target.scrollIntoView({container: 'nearest'}) מגבילה את הגלילה לרכיב הגלילה הקרוב ביותר ברמת ההיררכיה, במקום לאפשר לה לעלות עד למעלה, וכך מונעת גלילה ברמת הדף שעלולה לגרום לבלבול.
משתמשים בתיבת הסימון בהדגמה הזו כדי להפעיל או להשבית את האפשרות:
מידע נוסף על "container: "nearest""
22. גלילה פרוגרמטית שניתן להמתין לה
כל השיטות הפרוגרמטיות לגלילה (כמו scroll(), scrollTo() ו-scrollIntoView()) מחזירות עכשיו Promise. כך מפתחים יכולים await את השלמת האנימציות של הגלילה החלקה לפני הפעלת לוגיקה עוקבת (כמו הוספת אפקט הדגשה).
בהדגמה הבאה אפשר לראות את הפעולה: קודם מתבצעת גלילה של הרכיב לתצוגה, ואז מתווסף לו אפקט הדגשה.
חלק 4: הגדלת התוכן, הפחתת הרעש
אחת מחוויות הגלישה הכי מתסכלות היא כשמצפים לראות תוכן אבל נחסמים על ידי חלונות קופצים או באנרים פולשניים. הגדרת עדיפות לאזור התוכן על ידי הסרת עומס חזותי וגבולות האפליקציה, והעברת פעולות משניות אל מאחורי ממשק משתמש בשכבות.
23. שאילתות של מצב הגלילה (scrolled)
שאילתות scroll-state הן חלק משאילתות CSS Container. הן מאפשרות להגדיר סגנון לרכיבי צאצא על סמך מצב הגלילה של מאגר (עם container-type: scroll-state). שאילתת scrolled (לדוגמה, scroll-state(scrolled: bottom)) מזהה את הכיוון של הגלילה היחסית האחרונה, ומאפשרת ליצור דפוסים כמו 'סרגל נסתר'.
Browser Support
מידע נוסף על התבנית 'סרגל נסתר'
24. שאילתות בנוגע למאגר עם מיקום קבוע
התכונה CSS Anchor Positioning כוללת שאילתות של קונטיינרים מוצמדים, שמאפשרות לבדוק איזו עמדת חזרה (לדוגמה, fallback: bottom או fallback: flip-block) פעילה כרגע באלמנט שמוצב באמצעות anchor, וכך מאפשרות עדכונים דינמיים של הסגנון של אלמנט שמוצב באמצעות anchor (כמו חצים של תיאורי כלים).
Browser Support
בהדגמה הבאה, חלון קופץ עם מיקום קבוע משנה את המיקום שלו על סמך מיקום ברירת המחדל והמיקום שלו באזור התצוגה באמצעות שאילתות של מיקום קבוע של רכיב. כשתיבת העזרה הקופצת נפתחת מעל הרכיב שמפעיל אותה, היא מונפשת מלמטה למעלה, מהמקור. אם הוא מתחת לרכיב שמפעיל אותו, הוא מונפש מלמעלה למטה.
25. CSS border-shape
המאפיין border-shape מאפשר להגדיר גבולות לא מלבניים באמצעות אותו תחביר של צורות כמו clip-path. בניגוד לחיתוך, border-shape שומר על ההתאמה החזותית של הגבולות, המתארים והצללים לצורה המותאמת אישית. הוא גם מתקדם יותר מ-corner-shape, כי border-shape גמיש הרבה יותר.
Browser Support
26. הפונקציה shape() של CSS
הפונקציה shape() ב-CSS מאפשרת להגדיר נתיבים גיאומטריים מורכבים בשורת CSS. אפשר להשתמש בו עם מאפיינים כמו clip-path, border-shape או shape-outside כדי ליצור צורות אורגניות לא מלבניות שהתוכן יכול להיות מוצמד אליהן.
27. מיקום קבוע לכל ציר
בעקבות שינוי שבוצע לאחרונה במפרט של מאפיין הגלישה, שמאפשר להגדיר את הגלילה של רכיבי container רק בציר אחד, עכשיו אפשר לעקוב אחרי שני רכיבי container שונים של גלילה (אחד לכל ציר) בו-זמנית באמצעות מיקום קבוע. כך העמודה הראשונה והשורה העליונה בטבלה נשארות קבועות במקומן גם בתוך מאגרי גלילה עם ציר אחד.
Browser Support
התכונה הזו זמינה לבדיקה ב-Chrome 148 עם הדגל Experimental Web Platform Features (תכונות ניסיוניות של פלטפורמת האינטרנט) מופעל.
מידע נוסף על position: sticky לכל ציר
חלק 5: התאמה לגורם הצורה
אחד היתרונות הכי חשובים של האינטרנט הוא הגמישות שלו. המשתמשים יכולים לגלוש באינטרנט ממגוון מכשירים, שלכל אחד מהם מנגנוני אינטראקציה משלו. הפריסות צריכות להסתגל באופן מהותי למכשיר ולשיטת הקלט, בין אם מקלדת וירטואלית פתוחה או שיעדי המגע פעילים. כשמעצבים אתר או אפליקציית אינטרנט, חשוב לזכור את גורם הצורה כדי להוסיף לאתר או לאפליקציה מגע מקצועי ולעמוד בציפיות של המשתמשים.
28. מחוות גלילה מעבר לקצה (אזורים שאפשר להחליק בהם)
דוגמה אחת להתאמה לגורם הצורה היא היכולת להשתמש באינטראקציות שמבוססות על החלקה ומחוות באינטרנט בנייד. אפשר להשתמש בגלולות כדי להשיג חלק מהאפקטים האלה, אבל זו לא תמיד גישה אינטואיטיבית.
צוות Chrome עובד על פתרון הצהרתי מוצע, בדיון עם קבוצת הקהילה OpenUI, שמאפשר ליצור אזורים מקוריים שניתן להחליק בהם (לדוגמה, רשימות ב-Gmail שאפשר להחליק בהן או תפריטים צדדיים שאפשר להחליק כדי לסגור אותם) באמצעות overscrollcontainer ורכיבי הפעלה של פקודות, שפועלים באופן טבעי במגע ובגלילה.
מידע נוסף על מחוות גלילה מעבר לקצה
29. HTML-in-Canvas
HTML-in-Canvas API הוא שינוי פרדיגמה משמעותי, שמאפשר למפתחים להציב רכיבי DOM אמיתיים בתוך <canvas> (באמצעות המאפיין layoutsubtree). האלמנטים האלה נשארים ניתנים לחיפוש, נגישים ותומכים בתכונות של הדפדפן כמו מילוי אוטומטי, ובמקביל מאפשרים ל-shaders של WebGL/WebGPU ליצור איתם אינטראקציה באופן מקורי.
סיבוב בזק
סקירה מהירה של כמה תכונות עוצמתיות אחרות שמקדמות את האינטרנט.
30. העברה ששומרת את מצב ה-DOM (moveBefore())
שיטת ה-DOM moveBefore() מאפשרת לשנות את ההורה של צמתי DOM (לדוגמה, הפעלת סרטונים, iframe או קלט ממוקד) בלי להרוס את המצב שלהם או להפעיל טעינה מחדש.
המשמעות היא שהסרטונים ממשיכים לפעול, תגי iframe לא נטענים מחדש, אנימציות CSS לא מופעלות מחדש ושדות קלט שומרים על המיקוד שלהם כשמעבירים אותם בין רכיבים בפריסה.
31. CSS text-fit
text-fit היא תכונת CSS ניסיונית שמשנה באופן דינמי את גודל הגופן כדי להתאים במדויק את שורות הטקסט לרוחב המדויק של רכיב ההכלה שלהן (לדוגמה, text-fit: grow per-line-all).
32. שירות CSS text-box (text-box-trim ו-text-box-edge)
המאפיין text-box (והמאפיינים המקבילים שלו text-box-trim ו-text-box-edge) מקצץ את הרווח האנכי (הרווח בין השורות) מעל הטקסט ומתחתיו, כדי להבטיח יישור אנכי ומרכוז מושלמים.
33. קישוטים של רווחים ב-CSS
קישוטי רווחים ב-CSS מוסיפים column-rule ל-grid ול-flexbox, ומציגים מאפיין חדש row-rule שמאפשר למפתחים לעצב את הרווחים בין שורות ועמודות. לא צריך יותר להתעסק עם גבולות או עם פסאודו-אלמנטים כדי לעצב את הכללים בין השורות והעמודות.
Browser Support
מידע נוסף על קישוטים של רווחים ב-CSS
34. יחידות של אזור תצוגה שמתחשבות בסרגל הגלילה (vw, vh וכו')
יחידות של אזור התצוגה כמו vw ו-vh מחסירות באופן אוטומטי את הגודל של סרגלי הגלילה (אם מובטח שהם יהיו גלויים, באמצעות overflow-y: scroll או scrollbar-gutter: stable שהוגדרו ב-:root), כדי למנוע גלישה אופקית מקרית כשמגדירים רכיבים ל-100vw.
Browser Support
מידע נוסף על יחידות של אזור תצוגה שמתחשבות בסרגל הגלילה
35. גישה של JavaScript לרכיבים פסאודו
ממשקי API לאינטרנט חושפים עכשיו פסאודו-אלמנטים של CSS (כמו ::before או ::after) ל-JavaScript.
אפשר לאחזר מופע CSSPseudoElement באמצעות Element.pseudo(type) ולבדוק איזה פסאודו-אלמנט הפעיל אירוע באמצעות Event.pseudoTarget.
Browser Support
מידע נוסף על "CSSPseudoElement"
סיכום
עד כאן הסיכום שלנו בנושא מה חדש בממשק המשתמש האינטרנטי. אנחנו מקווים שתשתמשו בתכונות האלה כדי ליצור ממשקים נהדרים. להתראות בשנה הבאה!