2016-03-02 18 views
16

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 /?

+0

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

Odpowiedz

12

Problem polega na tym, że ::shadow i /deep/ przerywają enkapsulację. Cieszę się, że ich nie ma.

Dobre zamienniki są:

+0

W przypadkach, gdy nie można uzyskać dostępu do shadow dom przed renderowaniem, niemożliwe jest uniknięcie ':: shadow'a – RenaissanceProgrammer

+0

@MarcG Jeśli nie ma mechanizmu łamania enkapsulacji, w jaki sposób mogę nadpisać styl ramowy? – adamdport

1

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