在 Chrome 63 中移除 ::shadow 和 /deep/
bookmark_border bookmark
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
自 Chrome 63 版起,您無法使用陰影穿透選取器 ::shadow
和 /deep/
為陰影根目錄中的內容設定樣式。
/deep/
組合運算元式會做為子項選取器。x-foo /deep/ div
會像 x-foo div
一樣運作。
::shadow
擬似元素不會與任何元素相符。
注意: 如果您的網站使用 Polymer,團隊已彙整完整指南 ,逐步說明如何從 ::shadow
和 /deep/
遷移。
移除決定
::shadow
和 /deep/
已在 Chrome 第 45 版中淘汰。這是 2015 年 4 月的 Web 元件聚會 上所有參與者所決定的。
陰影穿透選取器的主要問題在於,它會違反封裝,並導致元件無法再變更其內部實作情況。
注意: 目前,::shadow
和 /deep/
會繼續與 querySelector()
和 querySelectorAll()
等 JavaScript API 搭配運作。我們正在 GitHub 上討論這些 API 的持續支援。 CSS Shadow Parts 規格正在進展中,可做為陰影穿透選取器的替代方案。陰影元件可讓元件作者以保留封裝的方式公開命名元素,同時讓網頁作者能夠一次設定多個屬性的樣式。
如果我的網站使用 ::shadow 和 /deep/,該怎麼辦?
::shadow
和 /deep/
選取器只會影響舊版 Shadow DOM v0 元件。如果您使用的是 Shadow DOM v1,則不需要變更網站上的任何內容。
您可以使用 Chrome Canary 驗證網站在這些新變更後是否正常運作。如果發現問題,請嘗試移除任何 ::shadow
和 /deep/
的用法。如果移除這些選取器的用法太困難,請考慮從原生陰影 DOM 切換至陰影 DOM polyfill。只有在網站依賴原生陰影 DOM v0 時,才需要進行這項變更。
Intent to Remove |
Chromestatus Tracker |
Chromium Bug
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2017-10-24 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2017-10-24 (世界標準時間)。"],[],[]]