2017-10-17 19 views
4

我是新來的角4,所以任何人都可以請解釋如何以及在角4中使用:: ng-deep?其實我想覆蓋父組件的一些CSS屬性。而且它支持IE11嗎?如何使用:: ng-deep?

+0

是的,它的工作很好,謝謝:) – thilagabala

回答

8

通常/deep/ 「shadow-piercing」組合子可以用來強制風格到child components。這個選擇器有一個別名>>>,現在有另一個名爲:: ng-deep。

因爲/deep/ combinator已被棄用,它建議使用::ng-deep

例如:

<div class="overview tab-pane" id="overview" role="tabpanel" [innerHTML]="project?.getContent('DETAILS')"></div>

css

.overview { 
    ::ng-deep { 
     p { 
      &:last-child { 
       margin-bottom: 0; 
      } 
     } 
    } 
} 

它將被應用到子組件

+0

它支持IE11嗎? – thilagabala

2

::ng-deep>>>/deep/是給你的DOM元素,這是不是在你的組件的HTML的訪問。例如,如果您正在使用Angular Material,則某些元素由組件區域外的Angular Material生成(例如dialog),並且無法使用常規CSS方式訪問此元素。如果你想改變風格,元素,你必須使用的是三兩件事之一,例如:

/deep/ .mat-dialog { 
    /* styles here */ 
} 

而據我所知,>>>/deep/被棄用,因此,使用::ng-deep