Menghapus ::shadow dan /deep/ di Chrome 63

Mulai Chrome 63, Anda tidak dapat menggunakan pemilih tusuk bayangan ::shadow dan /deep/ untuk menata gaya konten di dalam root bayangan.

  • Kombinasi /deep/ akan bertindak sebagai pemilih turunan. x-foo /deep/ div akan berfungsi seperti x-foo div.
  • Elemen pseudo ::shadow tidak akan cocok dengan elemen apa pun.

Keputusan untuk menghapus

::shadow dan /deep/ tidak digunakan lagi di Chrome versi 45. Ini diputuskan oleh semua peserta pada pertemuan Komponen Web April 2015.

Masalah utama dengan pemilih piercing bayangan adalah melanggar enkapsulasi dan menciptakan situasi ketika komponen tidak dapat lagi mengubah implementasi internalnya.

Spesifikasi CSS Shadow Parts sedang ditingkatkan sebagai alternatif untuk pemilih tindik bayangan. Bagian Bayangan akan memungkinkan penulis komponen mengekspos elemen bernama dengan cara yang mempertahankan enkapsulasi dan tetap memungkinkan penulis halaman menata gaya beberapa properti sekaligus.

Apa yang harus saya lakukan jika situs saya menggunakan ::shadow dan /deep/?

Pemilih ::shadow dan /deep/ hanya memengaruhi komponen Shadow DOM v0 lama. Jika menggunakan Shadow DOM v1, Anda tidak perlu mengubah apa pun di situs.

Anda dapat menggunakan Chrome Canary untuk memverifikasi bahwa situs Anda tidak rusak karena perubahan baru ini. Jika Anda melihat masalah, coba hapus penggunaan ::shadow dan /deep/. Jika terlalu sulit untuk menghapus penggunaan pemilih ini, pertimbangkan untuk beralih dari shadow DOM native ke shady DOM polyfill. Anda hanya perlu melakukan perubahan ini jika situs mengandalkan shadow DOM native v0.

Informasi selengkapnya

Rencana Penghapusan | Pelacak Status Chrome | Bug Chromium