Angular Material Customize Tab


Answer :

In your component, set ViewEncapsulation to None and add the styles in your component.css file.

Changes in Typescript code:

import {Component, ViewEncapsulation} from '@angular/core';  @Component({   ....   encapsulation: ViewEncapsulation.None }) 

Component CSS:

/* Styles for tab labels */ .mat-tab-label {     min-width: 25px !important;     padding: 5px;     background-color: transparent;     color: red;     font-weight: 700; }  /* Styles for the active tab label */ .mat-tab-label.mat-tab-label-active {     min-width: 25px !important;     padding: 5px;     background-color: transparent;     color: red;     font-weight: 700; }  /* Styles for the ink bar */ .mat-ink-bar {     background-color: green; } 

Demo


Update

To customize tab background and ink bar, you can define your own theme then use the theme options on the tab group:

<div class="my-theme">     <mat-tab-group [backgroundColor]="'primary'" [color]="'warn'">         <mat-tab label="First"> Content 1 </mat-tab>         <mat-tab label="Second"> Content 2 </mat-tab>         <mat-tab label="Third"> Content 3 </mat-tab>     </mat-tab-group> </div> 

Here is an example on StackBlitz.

Old answer with ::ng-deep

If you don't want to touch ViewEncapsulation, use ::ng-deep instead with class selector (inspect by browser dev tool).

For example (Angular 5, Material 2):

/* active tab */ ::ng-deep .mat-tab-list .mat-tab-labels .mat-tab-label-active { color:red; background-color: green; }  /* ink bar */ ::ng-deep .mat-ink-bar { background-color: var(--primary-color,#1F89CE) !important; } 

Latest Solution:-

1)Override in styles.css 2) Use selector of component of where that material-tab exists

styles.css

  app-child .mat-tab-label.mat-tab-label-active {     padding: 0px 15px ;   justify-content: flex-start;   }    app-child .mat-tab-label{     padding: 0px 15px ;   justify-content: flex-start;   }  .mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar{     background:#6168e7;   } 

Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android SDK Location Should Not Contain Whitespace, As This Cause Problems With NDK Tools