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 wiex-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