הסרת ::shadow ו-/deep/ ב-Chrome 63

החל מגרסה 63 של Chrome, לא ניתן להשתמש בבוררים חוצי-צלליות ::shadow ו-/deep/ כדי לסגנן תוכן בתוך בסיס צל.

  • השילוב של /deep/ יפעל כבורר צאצא. הפקודה x-foo /deep/ div תפעל כמו x-foo div.
  • פסאודו-רכיב ::shadow לא יתאים לאף רכיב.

ההחלטה להסיר

הגרסאות ::shadow ו-/deep/ הוצאו משימוש בגרסה 45 של Chrome. כל המשתתפים החליטו במפגש המפגש של רכיבי האינטרנט באפריל 2015.

החשש העיקרי בסלקטורים של ציליות צלליות הוא שהם מפרים את האנקפסולציה ויוצרים מצבים שבהם רכיב לא יכול יותר לשנות את ההטמעה הפנימית שלו.

המפרט של CSS Shadow Parts מתקדם כחלופה לסלקטורים של פירסינג בצללית. התכונה 'חלקי צל' מאפשרת למחבר רכיבים לחשוף רכיבים בעלי שם באופן ששומר על אנקפסולציה ועדיין מאפשר למחברי דפים לעצב מספר מאפיינים בבת אחת.

מה עלי לעשות אם האתר שלי משתמש בפורמטים ::shadow ו-/deep/?

הסלקטורים ::shadow ו-/deep/ משפיעים רק על רכיבי Shadow DOM v0 מדור קודם. אם אתם משתמשים ב-Shadow DOM v1, לא צריך לשנות שום דבר באתר.

תוכלו להשתמש ב-Chrome Canary על מנת לוודא שהאתר לא מפר את השינויים החדשים. אם נתקלתם בבעיות, נסו להסיר את כל השימוש ב-::shadow וב-/deep/. אם קשה מדי להסיר את השימוש בסלקטורים האלה, כדאי לעבור מ-DOM DOM נייטיב אל ה-Polyfill האפל של ה-DOM. צריך לבצע את השינוי הזה רק אם האתר מסתמך על Native DOM DOM v0.

מידע נוסף

כוונה להסיר | מעקב Chromestatus | באג ב-Chromium