I due combinatori di piercing ombreggiato sono stati dichiarati obsoleti come indicato in https://www.chromestatus.com/features/6750456638341120
Quindi qual è il sostituto per il raggiungimento della stessa cosa o questa funzione di piercing all'ombra è stata completamente abbandonata?Qual è il sostituto di :: shadow e/deep /?
risposta
Il problema è che ::shadow
e /deep/
incapsulamento di interruzione. Sono contento che se ne siano andati.
I buoni sostituti sono:
- variabili CSS. E 'già funziona in modo nativo con l'recentemente lanciato Google Chrome 49. Leggi qui:
:host-context
. Leggi qui: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/
Per i casi in cui non è possibile accedere a shadow dom prima del rendering, è impossibile evitare ':: shadow' – RenaissanceProgrammer
@MarcG Se non c'è alcun meccanismo per interrompere l'incapsulamento, come posso sovrascrivere lo stile di struttura? – adamdport
Come Polymer 2:
::shadow
(selettori ombra perforanti) - v'è alcun sostituto diretto. Invece è necessario utilizzare una proprietà CSS personalizzata. Polymer 2: Custom CSS Properties/deep/
- v'è una sorta di sostituzione definendo:host > * { ... }
(si applica un set di regole a tutti i top-level bambini in ombra dell'albero del padrone di casa, che non è in conflitto con la regola nel documento principale).
Per informazioni più dettagliate controllare Polymer 2 Upgrade Notes
Per qualcosa di sostituire ':: shadow' e' deep' che ora funziona, utilizzare un elemento 'style' dentro la tua radice ombra, con qualcosa come' @import url ('/common-style.css') '. Vedi http://stackoverflow.com/questions/34699350/shadow-piercing-descendant-combinator-deep-including-shadow-pseudo-el/34706299#34706299 e http://stackoverflow.com/questions/30829019/polymer-share -styles-across-elements/32941101 # 32941101 La soluzione a lungo termine è [Proprietà personalizzate CSS (dette anche "variabili CSS")] (https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables). – sideshowbarker