"::shadow" und "/deep/" werden in Chrome 63 entfernt

Ab Chrome 63 können Sie die Schattenselektoren ::shadow und /deep/ nicht mehr verwenden, um Inhalte innerhalb eines Schattenstamms zu gestalten.

  • Die /deep/-Kombination fungiert als untergeordneter Selektor. x-foo /deep/ div funktioniert wie x-foo div.
  • Das Pseudoelement ::shadow stimmt mit keinem Element überein.

Die Entscheidung, das Video zu entfernen

::shadow und /deep/ wurden in der Chrome-Version 45 eingestellt. Diese Entscheidung wurde von allen Teilnehmern des Web Components-Meetups im April 2015 beschlossen.

Das Hauptanliegen bei Selektoren mit Schatteneffekten besteht darin, dass sie gegen die Kapselung verstoßen und Situationen verursachen, in denen eine Komponente ihre interne Implementierung nicht mehr ändern kann.

Die Spezifikation CSS-Schattenteile wird als Alternative zu Shadow-Piercing-Selektoren weiterentwickelt. Mit der Funktion „Schattenteile“ können Komponentenautoren benannte Elemente so verfügbar machen, dass die Datenkapselung erhalten bleibt und Seitenautoren trotzdem mehrere Eigenschaften gleichzeitig gestalten können.

Was kann ich tun, wenn auf meiner Website ::shadow und /deep/?

Die Selektoren ::shadow und /deep/ wirken sich nur auf alte Shadow DOM-Komponenten der Version 0 aus. Wenn Sie Shadow DOM v1 verwenden, müssen Sie auf Ihrer Website nichts ändern.

Mit Chrome Canary kannst du prüfen, ob deine Website nach diesen Änderungen nicht funktioniert. Wenn Probleme auftreten, versuchen Sie, die Nutzung von ::shadow und /deep/ zu entfernen. Wenn es zu schwierig ist, die Verwendung dieser Selektoren zu entfernen, sollten Sie vom nativen Schatten-DOM zum Schatten-DOM-Polyfill wechseln. Sie sollten diese Änderung nur vornehmen, wenn Ihre Website natives Shadow DOM Version 0 verwendet.

Weitere Informationen

Intent zum Entfernen | Chromestatus-Tracker | Chromium-Fehler