2016-09-26 16 views
6

Stillerimi Angular 2 uygulamamdaki ngbTooltip bileşenine uygulamak istiyorum. Ben yönergesi uygulanır:Angular 2'de ng-bootstrap bileşenleri nasıl oluşturulur

<div [ngbTooltip]="tooltipText"> 
    Element text 
</div> 

Ama Açısal 2 tarzı kapsam belirleme uygular beri, ben direk benim bileşenin şablonunda .tooltip sınıf stil olamaz.

Bu özel bileşen için araç ipuçlarını nasıl verebilirim a custom styling?

DÜZENLEME:

benim bileşene takılı bir SCSS stil var. Benim stilleri (basitleştirilmiş) şunlardır: o zaman

.license-circle { 
    width: 10px; 
    ... other styles 
} 

/deep/ .tooltip { 
    &.in { 
     opacity: 1; 
    } 
} 

Ama render stilleri bakmak gibi: Benim ipucu stilleri bu bileşenin en enkapsüle olma (yerine sadece delici vardır inandırıyor

<style> 
.license-circle[_ngcontent-uvi-11] { 
    width: 10px; } 

.tooltip.in { 
    opacity: 1; } 
</style> 

çocukların

Not:. Ben :host >>> .tooltip denedim ancak işe yaramadı, bu yüzden /deep/ kullanarak sona erdi

.

Teşekkürler!

açıklamada belirtildiği gibi
+0

http://stackoverflow.com/questions/34542143/load-external-css-style-into-angular-2-component/ başlamalı 34963135 # 34963135 yardımcı olabilir (gölge delici) –

+0

Çalıştı, teşekkürler! Ama endişeleniyorum ki bu piercing stilleri global olacak. –

+0

"Global" ile ne demek istiyorsun? Seçiciyi ': host ...' ile başlatırsanız, sadece bu bileşene ve çocuklara uygulanır. –

cevap

7

, seçiciler :host

:host .license-circle { 
    width: 10px; 
    ... other styles 
} 

:host /deep/ .tooltip { 
    &.in { 
     opacity: 1; 
    } 
} 
+0

Çok teşekkürler! Ben: ev sahibi >>> '=='/derin/'düşündüm ve ben eksik olduğunu fark etmedi': host' :) –

+0

Görüyorum. Evet '>>>' ve '/ derin /' değiştirilebilir. SASS'de birisinin daha iyi çalıştığı bir yerlerden bahsetmiştim ama şunu hatırlamıyorum: -/ –

+1

Kayıt için sass kullanıyorum ve '/ deep /' :) –