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.Nativedüzgün tüm tarayıcılarda ve genelinde gölge DOM sınırları stil destekleriyle, ::ng-deepmuhtemelen 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 ::shadow2.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.EmulatedAngular2'de varsayılan olanlarla çalışırlar. Muhtemelen birlikte çalışırlar, ViewEncapsulation.Noneancak 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?