Skip to main content

FAB

A floating action button (FAB) is a button that hovers above the content of a user interface, appearing as if it is floating over it.

Dos and Don’ts

Do
  • Use recognisable, simple icons that clearly communicate the FAB's action.
  • Ensure the FAB highlights the most important action on the screen.
Don't
  • Ensure the FAB doesn't block navigation buttons, key content, or interfere with the user's flow.
  • Use the FAB only when it's necessary and adds real value, avoiding redundancy with other UI elements.


Anatomy

Anatomy of a FAB button with icon only and an icon and a label.
  1. Container: The FAB is in an elevated container.
  2. Icon: Visually supports the label.
  3. Label: Informs the user of the action.

Variants

Compact

The compact FAB should be used when an icon can easily communicate the action.

Compact icon only variation of the FAB button.

Extended

The extended FAB should be used when a label is required to communicate the action.

Compact extended variation of the FAB button with an icon and text.

Modifiers

Primary

The primary call-to-action on the page should be singular and prominent, limited to one per page.

A primary call to action button showing just an icon
A primary call to action button showing an icon and label

Inverse

Inverse FABs are specifically designed to be used on backgrounds with colours or images.

An inverse call to action button showing just an icon
An inverse call to action button showing an icon and label

Inverse secondary

Inverse secondary FABs are similar to the inverse FABs, but are less prominent due to the icon's use a neutral colour.

An inverse secondary call to action button showing just an icon
An inverse secondary call to action button showing an icon and label

Sizes

Outlines the FAB sizes that are available, and where they should be used across our products.

Compact

Large

A large compact FAB button

Medium

A medium compact FAB button

Small

A small compact FAB button

XSmall

A extra small compact FAB button
SizeIcon sizeHeightWidthNotes
Large28px56px56pxLarge is the default size of the component and should be the first choice whenever possible.
Medium24px48px48px
Small24px40px40pxSmall is used for pairing with multiple FABs and for instances using small screens.
XSmall20px32px32px

Extended

Large

A large compact FAB button

Medium

A medium compact FAB button

Small

A small compact FAB button

XSmall

A extra small compact FAB button
SizeIcon sizeHeightWidthNotes
Large24px56pxFlexibleLarge is the default size of the component and should be the first choice whenever possible.
Medium24px48pxFlexible
Small24px40pxFlexibleSmall is used for pairing with multiple FABs and for instances using small screens.
XSmall20px32pxFlexible

Content

Labels

Labels within the FAB should clearly indicate the action and describe what will occur once the user clicks the FAB.

Use sentence-style capitalisation (only the first world in a phrase and any proper nouns capitalised).

Icons

It is essential to ensure that the icon clearly conveys the intended action of the FAB. The icon should be directly related to the action the user is taking, helping to reinforce the FAB's purpose.


Overflow

Singular word overflow

When a single word extends beyond the the available horizontal space, the word truncates and an ellipsis is displayed.

Button with a truncated label

Multiple words overflow

When a group of words extends beyond the available horizontal space, the text automatically wraps onto a new line, with no maximum height restriction.

Button with a long label running over two lines

Position

FABs should generally be aligned to the bottom-right of the screen. Due to being elevated and fixed this placement should remain consistent as the scrolling is active.

LTR position

FABs should typically be positioned in the bottom-right corner and always remain within the main content area of the screen, ensuring they do not overlay navigational elements.

Form with a button aligned bottom right with a left-to-right label
  1. 24px padding.

RTL position

FABs should typically be positioned in the bottom-left corner and always remain within the main content area of the screen, ensuring they do not overlay navigational elements.

Form with a button aligned bottom left with a right-to-left label
  1. 24px padding.

Hierarchy

FABs should follow a hierarchy of importance with regards to the action that is being committed by the user and how the FABs are paired together.

Diagram showing hierarchy of FAB buttons

Behaviours

Scrolling

FABs remain in place during scrolling. They are persistent on the screen regardless of the actions taken.

Diagram showing a FAB button in a persistent location on a scrolling screen.

Triggered content

A FAB can trigger a variety of different primary actions through modal overlays, launching forms, expanding menus, triggering navigation or child FABs.

The FAB is flexible and can complement a range of components depending on the context and needs of the situation.


Interactive states

Outlines the atomic level interactive elements for the component.

Default

FAB buttons showing a default state

Active

FAB buttons showing an active state

Loading

FAB buttons showing a loading state

Examples

LTR examples

Here are some examples of the component in left-to-right context.

Left to right FAB button with an icon and text label
Left to right FAB button with an icon

RTL examples

Here is an example of the component in right-to-left context.

Right to left FAB button with an icon and text label
The compact variation doesn't change in RTL.
Back to top