ตั้งแต่ 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