güncelleme 2 ::slotted
::slotted
artık tüm yeni tarayıcılar tarafından desteklenmektedir ve ViewEncapsulation.ShadowDom
https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted
güncelleme 1 :: derin
/deep/
, kullanımdan kaldırıldı ve yerine ::ng-deep
.
::ng-deep
de zaten kullanımdan kaldırılmış olarak işaretlenmiş, ancak henüz kullanılabilir bir değişiklik yok.
Ne zaman ViewEncapsulation.Native
düzgün tüm tarayıcılarda ve genelinde gölge DOM sınırları stil destekleriyle, ::ng-deep
muhtemelen kesilecektir.
orijinal
Açısal, bileşenlerin içine ve dışına kanama stillerini önlemek için gölge DOM CSS kapsüllemesini taklit etmek için DOM'a eklediği HTML'ye her türlü CSS sınıfını ekler. Açısal ayrıca eklediğiniz CSS'yi bu eklenen sınıflarla eşleşecek şekilde yeniden yazar. [innerHTML]
Bu sınıflar kullanılarak eklenen HTML için eklenmez ve yeniden yazılan CSS eşleşmez.
Geçici çözüm olarak deneyin
/* :host /deep/ mySelector { */
:host ::ng-deep mySelector {
background-color: blue;
}
- CSS için eklendi
index.html
/* body /deep/ mySelector { */
body ::ng-deep mySelector {
background-color: green;
}
>>>
(ve eşdeğeri /deep/
ancak /deep/
SASS ile daha iyi çalışır) ve ::shadow
2.0.0-beta.10'da eklenmiştir. Gölge DOM CSS birleştiricilerine (kullanımdan kaldırılmıştır) benzerler ve yalnızca encapsulation: ViewEncapsulation.Emulated
Angular2'de varsayılan olanlarla çalışırlar. Muhtemelen birlikte çalışırlar, ViewEncapsulation.None
ancak ancak gerekli olmadıkları için göz ardı edilirler. Bu birleştiriciler, bileşenler arası şekillendirme için daha gelişmiş özellikler desteklenene kadar yalnızca bir ara çözümdür.
Başka bir yaklaşım kullanmak
@Component({
...
encapsulation: ViewEncapsulation.None,
})
CSS'nizi engelleyen tüm bileşenler için (CSS'yi nereye eklediğinize ve HTML'nin stilini oluşturmak istediğiniz yere bağlıdır - uygulamanızdaki tüm bileşenler olabilir )
Güncelleme
Örnek Plunker
index.html
?