Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to style the angular2 material slide-toggle button

I am new to angular 2 and material design. I would like to know how to style the slide-toggle button to be smaller.

 <div class="example-section">
  <mat-slide-toggle class="line-toggle"
    <span class="font-size-12">Slide Me</span>
  </mat-slide-toggle>
</div>

The css is as below

  .example-section {
  display: flex;
  align-content: center;
  align-items: center;
  height: 18px;
  margin-top: -12px;
}
 .line-toggle{
  height: 10px;
  line-height: 8px;
 }

I would like to decrease the size of the button and reduce the height of the slider.

like image 647
xaria Avatar asked Dec 14 '17 02:12

xaria


2 Answers

I've found you can use /deep/ in the css but you also have to target the specific classes.

/deep/ .mat-slide-toggle-bar {
  height: 7px !important;
}
/deep/ .mat-slide-toggle-thumb {
  height: 10px !important;
  width: 10px !important;
}

Something else to keep in mind is viewEncapsulation because deep allows you to break this convention since the styles are set in such a way with Angular that they are applied inline.

Related stack post: How to overwrite angular 2 material styles?

Related Angular Documentation: https://angular.io/guide/component-styles#!#-deep-

like image 191
tallgeese117 Avatar answered Sep 30 '22 13:09

tallgeese117


@tallgeese117 's answer is really very helpful. I would like to add few more lines of code to the their answer so that it will display the toggle in the required size and look:

/deep/ .mat-slide-toggle-bar {
  height: 7px !important;
  width: 28px !important;
}

/deep/ .mat-slide-toggle-thumb {
  height: 10px !important;
  width: 10px !important;
}

/deep/ .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {
    transform: translate3d(18px,0,0) !important;
}

/deep/ .mat-slide-toggle-thumb-container {
    width: 12px !important;
    height: 12px !important;
    top: -2px !important;
}
like image 41
Tofiq Quadri Avatar answered Sep 30 '22 14:09

Tofiq Quadri