Dwa kombinatory przenikające cień zostały wycofane, jak stwierdzono w https://www.chromestatus.com/features/6750456638341120
Następnie, co jest substytutem do osiągnięcia tego samego, lub ta funkcja przekłuwania cienia została całkowicie porzucona?Co to jest substytut :: shadow i/deep /?
Odpowiedz
Problem polega na tym, że ::shadow
i /deep/
przerywają enkapsulację. Cieszę się, że ich nie ma.
Dobre zamienniki są:
- zmienne CSS. To już działa natywnie z niedawno Chrome 49. Czytaj Google tutaj:
:host-context
. Przeczytać tutaj: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/
W przypadkach, gdy nie można uzyskać dostępu do shadow dom przed renderowaniem, niemożliwe jest uniknięcie ':: shadow'a – RenaissanceProgrammer
@MarcG Jeśli nie ma mechanizmu łamania enkapsulacji, w jaki sposób mogę nadpisać styl ramowy? – adamdport
jako Polimeru 2:
::shadow
(selektory cień do przekłuwania), - nie ma bezpośredni substytut. Zamiast tego należy użyć niestandardowych właściwości CSS. Polymer 2: Custom CSS Properties/deep/
- istnieje jakaś zastąpienia definiowania:host > * { ... }
(dotyczy to zestaw reguł, aby wszystkie dzieci najwyższego poziomu w drzewie cieni gospodarza, który nie stoi w sprzeczności z zasadą w głównym dokumencie).
celu uzyskania bardziej szczegółowych informacji należy zapoznać Polymer 2 Upgrade Notes
czegoś do zastąpienia ':: shadow' i' deep' że teraz działa, użyj 'style' elementu wewnątrz korzenia cień, z czymś w rodzaju' @import url ('/common-style.css') '. Zobacz http://stackoverflow.com/questions/34699350/shadow-piercing-descendant-combinator-deep-including-shadow-pseudo-el/34706299#34706299 i http://stackoverflow.com/questions/30829019/polymer-share -style-across-elements/32941101 # 32941101 Dłuższym rozwiązaniem jest [CSS Custom Properties (inaczej "CSS variables")] (https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables). – sideshowbarker