Vanaf Chrome 63 kunt u de schaduwdoordringende selectors ::shadow
en /deep/
niet gebruiken om inhoud binnen een schaduwwortel te stylen.
- De
/deep/
combinator zal fungeren als een afstammelingselector.x-foo /deep/ div
zal werken alsx-foo div
. - Het
::shadow
pseudo-element komt met geen enkel element overeen.
Het besluit om te verwijderen
De ::shadow
en /deep/
zijn verouderd in Chrome versie 45. Dit werd besloten door alle deelnemers aan de Web Components meetup van april 2015 .
Het voornaamste probleem met schaduwdoordringende selectors is dat ze de inkapseling schenden en situaties creëren waarin een component zijn interne implementatie niet langer kan veranderen.
De CSS Shadow Parts- specificatie wordt geavanceerd als alternatief voor schaduwdoorborende selectors. Met Schaduwdelen kan een componentauteur benoemde elementen blootleggen op een manier die de inkapseling behoudt en pagina-auteurs toch de mogelijkheid biedt om meerdere eigenschappen tegelijk op te maken.
Wat moet ik doen als mijn site ::shadow en /deep/ gebruikt?
De ::shadow
en /deep/
selectors hebben alleen invloed op oudere Shadow DOM v0-componenten. Als u Shadow DOM v1 gebruikt, hoeft u niets op uw site te wijzigen.
U kunt Chrome Canary gebruiken om te verifiëren dat uw site niet voldoet aan deze nieuwe wijzigingen. Als u problemen opmerkt, probeer dan elk gebruik van ::shadow
en /deep/
te verwijderen. Als het te moeilijk is om het gebruik van deze selectors te verwijderen, overweeg dan om van native schaduw-DOM over te schakelen naar de schaduwrijke DOM-polyfill. U hoeft deze wijziging alleen door te voeren als uw site afhankelijk is van native shadow DOM v0.
Meer informatie
Intentie om te verwijderen | Chromestatustracker | Chroombug