色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

未應用角形材料墊-展開-面板-車身樣式

劉柏宏1年前7瀏覽0評論

我的組件的css文件中有以下css:

.mat-expansion-panel-body {
  padding: 0;
}

因此,我希望看到這條規則(即使被覆蓋)出現在以下dom元素中:

<div class="mat-expansion-panel-body">...</div>

但是,我在開發工具中看到的全部應用是:

.mat-expansion-panel-body {
  padding: 0 24px 16px;
}

我注意到這個元素沒有其他主機元素所具有的_ngcontent-c19類,所以我假設這是一個視圖封裝的例子。

然而,在閱讀了關于不推薦使用::ng-deep和/deep/以及其他不推薦使用的封裝穿透構造之后,從我的組件的css文件中對該元素進行樣式化的更好的解決方案是什么呢?

我設置::ng-深入組件css,它在我身邊工作。

::ng-deep .mat-expansion-panel-body{
     padding: 0;
}

添加封裝:視圖封裝。無屬性添加到您的@Component裝飾器中

@Component({
  selector: '...',
  templateUrl: '...',
  styleUrls: ['...'],
  encapsulation: ViewEncapsulation.None
})
export class examplePage{}

那么這個CSS就可以很好地工作了!重要的

.mat-expansion-panel-body {
  padding: 0 !important;
}

請注意::ng-deep和/deep/在新版本的angular/material上不起作用

如果您不想使用::ng-deep,一個可能的解決方案是在styles.css文件中設置樣式,如下所示。

.mat-expansion-panel-body {
  padding: 0 !important;
}

這將移除襯墊,但要小心,因為這將從所有墊膨脹板車身元件上移除襯墊。您可以通過在panel上為expansi設置一個特定的類,然后在styles.css中執行類似的操作來繞過它

.my-special-class .mat-expansion-panel-body {
  padding: 0;
}

在這種情況下你甚至不需要!重要。這是一個例子。

https://stackblitz.com/edit/angular-a6necw

效果最好,現在你不必考慮這種風格是否適用于你的所有組件。 使用:主機僅將其應用于當前主機組件

下面是它對我的作用:

::ng-deep div.mat-expansion-panel-body {
  padding: 0 !important;
}

我會匯總所有答案,給出一些解決方案:

使用ng-deep like ::ng-deep。組件CSS中的mat-expansion-panel-body——非常好的解決方案,但是Angular團隊決定深入研究 使用封裝:視圖封裝。無-我個人認為這是最糟糕的解決方案,因為你將設置全局類,這可能與現有的、新的或動態的類(如一些網站上的廣告)相沖突 組件名稱。全球風格的墊-膨脹-面板-車身。唯一的缺點是你必須維護選擇器,以防有人重命名組件的選擇器 移動。全局樣式中的mat-expansion-panel-body { padding:0 }。(s)css文件,并從現在起影響所有mat-expansions組件。 就我個人而言,我仍然傾向于第一或第三個選項,但在我的團隊中,我們選擇了第四個選項。

Please use ngdeep code here before all inbuilt classes in angular 
::ng-deep .mat-expansion-panel-body{
     padding: 0;
}

對自定義類使用ng-deep以避免樣式傳播

::ng-deep .nav-expansion-panel {
   .mat-expansion-panel-content{
   .mat-expansion-panel-body {
       padding: 0 5px  !important;
   }
  }
 }

在這上面浪費了大量時間之后,我創建了一個定制的css類,并將mat-accordion的東西包裝在一個div中。因為我有三個部分,現在都有很好的空間。

這個css:

.app-mat-accordion-vertical-margin {
  margin-top: 10px;
}

html:

<div class="app-mat-accordion-vertical-margin">
              <mat-accordion...
               ...
               ...
               </mat-accordion>
     </div>