ตั้งแต่ Chrome เวอร์ชัน 63 เป็นต้นไป คุณจะใช้ตัวเลือกที่เจาะเงา ::shadow
และ /deep/
เพื่อจัดสไตล์เนื้อหาภายในรูทเงาไม่ได้
- ตัวคอมบิเนเตอร์
/deep/
จะทําหน้าที่เป็นตัวเลือกรายการที่สืบทอดx-foo /deep/ div
จะทำงานเหมือนกับx-foo div
- องค์ประกอบจำลอง
::shadow
จะไม่จับคู่กับองค์ประกอบใดๆ
ผลการตัดสินให้นำออก
เราได้เลิกใช้งาน ::shadow
และ /deep/
ใน Chrome เวอร์ชัน 45 ซึ่งผู้เข้าร่วมทุกคนในการประชุม Web Components เดือนเมษายน 2015 ได้ตัดสินใจเลือกชื่อนี้
ข้อกังวลหลักเกี่ยวกับตัวเลือกการเจาะเงาคือละเมิดการรวมและสร้างสถานการณ์ที่คอมโพเนนต์ไม่สามารถเปลี่ยนแปลงการใช้งานภายในได้อีกต่อไป
กำลังพัฒนาข้อกำหนดชิ้นส่วนเงา CSS เพื่อเป็นทางเลือกแทนตัวเลือกการเจาะเงา ส่วนเงาจะช่วยให้ผู้เขียนคอมโพเนนต์แสดงองค์ประกอบที่มีชื่อในลักษณะที่ยังคงการรวมไว้ และยังคงอนุญาตให้ผู้เขียนหน้าเว็บจัดสไตล์พร็อพเพอร์ตี้หลายรายการพร้อมกันได้
ฉันควรทำอย่างไรหากเว็บไซต์ใช้ ::shadow และ /deep/
ตัวเลือก ::shadow
และ /deep/
จะมีผลกับคอมโพเนนต์ Shadow DOM v0 รุ่นเดิมเท่านั้น หากใช้ Shadow DOM v1 คุณไม่จําเป็นต้องเปลี่ยนแปลงอะไรในเว็บไซต์
คุณสามารถใช้ Chrome Canary เพื่อยืนยันว่าเว็บไซต์ของคุณไม่มีปัญหากับการเปลี่ยนแปลงใหม่เหล่านี้ หากพบปัญหา ให้ลองนำการใช้ ::shadow
และ /deep/
ออก หากนําการใช้ตัวเลือกเหล่านี้ออกได้ยากเกินไป ให้ลองเปลี่ยนจาก Shadow DOM เนทีฟไปใช้ DOM polyfill แบบ Shady คุณควรทำการเปลี่ยนแปลงนี้เฉพาะในกรณีที่เว็บไซต์ใช้ Shadow DOM เวอร์ชัน 0 ของเว็บเบราว์เซอร์
ข้อมูลเพิ่มเติม
Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium