Đang xoá ::shadow và /deep/ trong Chrome 63

Kể từ Chrome 63, bạn sẽ không thể dùng bộ chọn xuyên bóng ::shadow/deep/ để tạo kiểu cho nội dung bên trong gốc bóng đổ.

  • Tổ hợp /deep/ sẽ đóng vai trò là bộ chọn con cháu. x-foo /deep/ div sẽ hoạt động giống như x-foo div.
  • Phần tử giả ::shadow sẽ không khớp với bất cứ phần tử nào.

Quyết định xoá

::shadow/deep/ không còn được dùng trong Chrome phiên bản 45. Điều này đã được tất cả những người tham gia tại buổi họp mặt về Thành phần web tháng 4 năm 2015 đưa ra quyết định.

Mối quan tâm chính của các bộ chọn xuyên bóng là chúng vi phạm đóng gói và tạo ra các tình huống trong đó một thành phần không thể thay đổi cách triển khai nội bộ của nó nữa.

Thông số kỹ thuật CSS Shadow Parts đang được nâng cấp để thay thế cho bộ chọn xuyên bóng. Phần bóng đổ sẽ cho phép tác giả thành phần hiển thị các phần tử được đặt tên theo cách giữ nguyên trạng thái đóng gói mà vẫn cho phép tác giả trang có thể tạo kiểu cho nhiều thuộc tính cùng một lúc.

Tôi nên làm gì nếu trang web của mình sử dụng ::shadow và /deep/?

Bộ chọn ::shadow/deep/ chỉ ảnh hưởng đến các thành phần Shadow DOM phiên bản 0 cũ. Nếu đang sử dụng Shadow DOM phiên bản 1, bạn không cần phải thay đổi bất cứ điều gì trên trang web của mình.

Bạn có thể sử dụng Chrome Canary để xác minh rằng những thay đổi mới này giúp trang web của bạn không gặp lỗi. Nếu bạn nhận thấy vấn đề, hãy thử và xoá mọi cách sử dụng ::shadow/deep/. Nếu quá khó để loại bỏ việc sử dụng các bộ chọn này, hãy cân nhắc chuyển từ DOM bóng gốc sang polyfill DOM không rõ ràng. Bạn chỉ cần thực hiện thay đổi này nếu trang web của bạn dựa vào DOM bóng gốc phiên bản 0.

Thông tin khác

Ý định xoá | Công cụ theo dõi trạng thái Chrome | Lỗi Chromium