Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set color of toggle buttons

I have group of toggle buttons. They are very light and disappear in the background on poor monitors with a high brightness level.

enter image description here

How can I properly style them? I would prefer to assign them the accent or primary colors, the way you can do it for regular buttons.

In may case, the primary and accent colors are dark. So they text should become white (with some transparency). For regular buttons, it automatically works.

<div class="output-size">   <mat-button-toggle-group>     <mat-button-toggle value="letter">Letter</mat-button-toggle>     <mat-button-toggle value="legal">Legal</mat-button-toggle>     <mat-button-toggle value="a4">A4</mat-button-toggle>     <mat-button-toggle value="a5">A5</mat-button-toggle>   </mat-button-toggle-group> </div> 
like image 449
Codo Avatar asked Jan 08 '18 22:01

Codo


People also ask

How do I change the color of my mat button on toggle?

matButtonToggle does not support the color property like matButton . You can use the css classes . mat-button-toggle and . mat-button-toggle-checked to style the different states.

How do I change the toggle button color in bootstrap 5?

navbar-dark: This class is used to set the color of the navigation bar content to light. It will change the toggler icon to have white lines.

How do you change the color of a button using Javascript?

</head> <body> <input type="button" onmouseover="ChangeColor()" value="Button" id="btn1" />


2 Answers

matButtonToggle does not support the color property like matButton.

You can use the css classes .mat-button-toggle and .mat-button-toggle-checked to style the different states.

With material theming you can extract whichever individual palettes you need from the theme and apply the backgrounds default-contrast color to the text color to achieve optimal contrast with light or dark colors.

Here is a Stackblitz with your mat-button-toggle-group example: Stackblitz angular-t1k1x6

Theming used:

@import '~@angular/material/theming';  @include mat-core();  $app-primary: mat-palette($mat-indigo); $app-accent:  mat-palette($mat-pink, A200, A100, A400);  $app-theme: mat-light-theme($app-primary, $app-accent);  @mixin mix-app-theme($app-theme) {   $primary: map-get($app-theme, primary);   $accent: map-get($app-theme, accent);    .mat-button-toggle {     background-color: mat-color($primary);     color: mat-color($primary, default-contrast);   }    .mat-button-toggle-checked {     background-color: mat-color($accent);     color: mat-color($accent, default-contrast);   } }  // Include the mixin @include mix-app-theme($app-theme); 

Documents: Theming your Angular Material app

like image 76
Sashel Niles Gruber Avatar answered Sep 28 '22 02:09

Sashel Niles Gruber


mat-button-toggle-group {    box-shadow: none;  }    mat-button-toggle {      border: 1px rgba(0,0,0,0) solid !important;      margin-top: 5px !important;      padding: 0 5px !important;      z-index: 3 !important;  }    mat-button-toggle:hover {      border: 1px #000 solid !important;      background-color: #FFF !important;      border-radius: 5px !important;  }    .mat-button-toggle-checked {  	  box-shadow: 0 0 30px #000 !important;      border: 1px #000 solid !important;      border-radius: 5px !important;      background-color: #FFF !important;  }    .mat-button-toggle-input {      background-color: none !important;      padding-left: 32px !important;  }

if you only want to change the style of checked

like image 22
juliana fernandez Avatar answered Sep 28 '22 03:09

juliana fernandez