A partir do Chrome 63, não é possível usar os seletores de perfuração de sombra ::shadow
e /deep/ para estilizar o conteúdo dentro de uma raiz de sombra.
- O combinador /deep/vai funcionar como um seletor descendente.x-foo /deep/ divvai funcionar comox-foo div.
- O pseudoelemento ::shadownão corresponde a nenhum elemento.
A decisão de remover
Os métodos ::shadow e /deep/ foram descontinuados na versão 45 do Chrome. Isso foi
decidido por todos os participantes no encontro sobre componentes da Web de abril de 2015.
A principal preocupação com os seletores de perfuração de sombra é que eles violam o encapsulamento e criam situações em que um componente não pode mais mudar a implementação interna.
A especificação CSS Shadow Parts está sendo avançada como uma alternativa aos seletores de piercing de sombra. As partes de sombra permitem que um autor de componente exponha elementos nomeados de uma maneira que preserva o encapsulamento e ainda permite que os autores da página estilizem várias propriedades de uma só vez.
O que devo fazer se meu site usar ::shadow e /deep/?
Os seletores ::shadow e /deep/ afetam apenas os componentes legados do Shadow DOM v0. Se você estiver usando o Shadow DOM v1, não será necessário mudar
nada no site.
Você pode usar o Chrome Canary
para verificar se o site não é afetado por essas novas mudanças. Se você notar problemas,
tente remover o uso de ::shadow e /deep/. Se for muito difícil
remover o uso desses seletores, considere mudar do DOM de sombra nativo para
o polyfill de DOM de sombra. Você só vai precisar fazer essa mudança se o site
depender do DOM v0 do shadow nativo.
