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

Kể từ Chrome 63, bạn không thể sử 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.

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

Quyết định gỡ bỏ

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

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

Quy cách CSS Shadow Parts (Phần bóng CSS) đang được phát triển để thay thế cho bộ chọn xuyên bóng. Shadow Parts 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 bảo toàn tính năng đóng gói và vẫn cho phép tác giả trang định 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 v0 cũ. Nếu đang sử dụng Shadow DOM phiên bản 1, bạn không cần thay đổi bất kỳ nội dung nào trên trang web của mình.

Bạn có thể sử dụng Chrome Canary để xác minh rằng trang web của bạn không bị lỗi với những thay đổi mới này. Nếu bạn phát hiện vấn đề, hãy thử xoá mọi hoạt động 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 DOM bóng polyfill. 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 v0.

Thông tin khác

Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium