Skip to content

Latest commit

 

History

History
308 lines (233 loc) · 10 KB

File metadata and controls

308 lines (233 loc) · 10 KB

Icon Button

Icon buttons help people take supplementary actions with a single tap.

Use icon buttons when a compact button is required, such as in a toolbar or image list.

There are two types of icon buttons: standard and contained.

Side by side view of standard and contained icon buttons

Types

  1. Standard Icon Button
  2. Filled Icon Button
  3. Filled Tonal Icon Button
  4. Outlined Icon Button

Usage

Use icon buttons to display actions in a compact layout. Icon buttons can represent opening actions such as opening an overflow menu or search, or represent binary actions that can be toggled on and off, such as favorite or bookmark.

Icon buttons can be grouped together or they can stand alone.

To use icons by name, see the Icon documentation for loading the icon font.

A row of icon buttons

  <md-standard-icon-button>check</md-standard-icon-button>
  <md-filled-icon-button>check</md-filled-icon-button>
  <md-filled-tonal-icon-button>check</md-filled-tonal-icon-button>
  <md-outlined-icon-button>check</md-outlined-icon-button>

Links

Add an href and optionally a target attribute to turn the icon button into a link.

<md-standard-icon-button href="https://google.com">check</md-standard-icon-button>

Toggle

Two rows of toggling icon buttons, the top row is unselected and the bottom row is selected

Toggle icon buttons allow a single choice to be selected or deselected, such as adding or removing something from favorites.

<div>
  <md-standard-icon-button toggle>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-standard-icon-button>
  <md-filled-icon-button toggle>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-filled-icon-button>
  <md-filled-tonal-icon-button toggle>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-filled-tonal-icon-button>
  <md-outlined-icon-button toggle>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-outlined-icon-button>
</div>
<div>
  <md-standard-icon-button toggle selected>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-standard-icon-button>
  <md-filled-icon-button toggle selected>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-filled-icon-button>
  <md-filled-tonal-icon-button toggle selected>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-filled-tonal-icon-button>
  <md-outlined-icon-button toggle selected>
    <span>close</span>
    <span slot="selectedIcon">check</span>
  </md-outlined-icon-button>
</div>

Accessibility

Add an aria-label attribute to buttons whose labels need a more descriptive label.

<md-standard-icon-button aria-label="Search for Contact">search</md-standard-icon-button>

Toggle

Add a selected-aria-label attribute to toggle buttons whose labels need a more descriptive label when selected.

<md-standard-icon-button toggle
  aria-label="Unselected"
  selected-aria-label="Selected">
  <span>close</span>
  <span slot="selectedIcon">check</span>
</md-standard-icon-button>

Standard Icon Button

Use icon buttons to display actions in a compact layout. Icon buttons can represent opening actions such as opening an overflow menu or search, or represent binary actions that can be toggled on and off, such as favorite or bookmark.

Icon buttons can be grouped together or they can stand alone.

A check icon

<md-standard-icon-button>check</md-standard-icon-button>

Filled Icon Button

A circular button with a check icon

Filled icon buttons have higher visual impact and are best for high emphasis actions.

<md-filled-icon-button>check</md-filled-icon-button>

Filled Tonal Icon Button

A filled tonal icon button with a check icon

Filled tonal icon buttons are a middle ground between filled and outlined icon buttons. They're useful in contexts where the button requires slightly more emphasis than an outline would give, such as a secondary action paired with a high emphasis action.

<md-filled-tonal-icon-button>check</md-filled-tonal-icon-button>

Outlined Icon Button

An outlined circular icon button with a check icon

Outlined icon buttons are medium-emphasis buttons. They're useful when an icon button needs more emphasis than a standard icon button but less than a filled or filled tonal icon button.

<md-outlined-icon-button>check</md-outlined-icon-button>

Theming

Icon Button supports Material theming and can be customized in terms of color, and shape.

Standard Icon Button tokens

Token Default value
--md-icon-button-unselected-icon-color --md-sys-color-on-surface-variant
--md-icon-button-state-layer-shape 9999px
--md-icon-button-icon-size 24px

Standard Icon Button example

Image of a standard icon button with a different theme applied

<style>
:root {
  --md-icon-button-icon-size: 32px;
  --md-sys-color-on-surface-variant: #dc362e;
}
</style>

<md-standard-icon-button></md-standard-icon-button>

Filled Icon Button tokens

Token Default value
--md-filled-icon-button-selected-container-color --md-sys-color-primary
--md-filled-icon-button-container-shape 9999px
--md-filled-icon-button-container-size 40px
--md-filled-icon-button-icon-size 24px

Filled Icon Button example

Image of a filled icon button with a different theme applied

<style>
:root {
  --md-filled-icon-button-container-size: 80px;
  --md-filled-icon-button-icon-size: 40px;
  --md-filled-icon-button-container-shape: 0px;
  --md-sys-color-primary: #dc362e;
}
</style>
<md-filled-icon-button></md-filled-icon-button>

Filled Tonal Icon Button tokens

Token Default value
--md-filled-tonal-icon-button-selected-container-color --md-sys-color-secondary-container
--md-filled-tonal-icon-button-container-shape 9999px
--md-filled-tonal-icon-button-container-size 40px
--md-filled-tonal-icon-button-icon-size 24px

Filled Tonal Icon Button example

Image of a filled tonal icon button with a different theme applied

<style>
:root {
  --md-filled-tonal-icon-button-container-size: 80px;
  --md-filled-tonal-icon-button-container-shape: 0px;
  --md-filled-tonal-icon-button-icon-size: 40px;
  --md-sys-color-secondary-container: #006A6A;
}
</style>
<md-filled-tonal-icon-button></md-filled-tonal-icon-button>

Outlined Icon Button tokens

Token Default value
--md-outlined-icon-button-unselected-outline-color --md-sys-color-outline
--md-outlined-icon-button-unselected-outline-width 1px
--md-outlined-icon-button-container-shape 9999px
--md-outlined-icon-button-container-size 40px
--md-outlined-icon-button-icon-size 24px

Outlined Icon Button example

Image of an outlined icon button with a different theme applied

<style>
:root {
  --md-outlined-icon-button-container-size: 80px;
  --md-outlined-icon-button-container-shape: 0px;
  --md-outlined-icon-button-icon-size: 40px;
  --md-outlined-icon-button-unselected-outline-width: 4px;
  --md-sys-color-outline: #006A6A;
}
</style>
<md-outlined-icon-button></md-outlined-icon-button>