Layout

Overview

Layout design tokens provide standardized values that help ensure consistent spacing, sizing, and layout structure across Firefox experiences on Android.

Window size

We support three window sizes to match an Android API. Keep in mind that the Firefox app can be resized on large tablets, rescaled on foldables, and resized on Chromebooks.

Name

Value

Description

small

<600

Most phones in portrait

medium

600-840

Most tablets in portrait, phones in landscape

large

>840

Most tablets in landscape, Chromebooks

Usage

Static tokens

Static tokens stay consistent across window sizes.

Do
  • Use for all spacing (top, bottom, left, right) in smaller components like Buttons, CFRs, and Chips.
  • In larger full-width elements, use for top and bottom spacing.
  • Use when text is paired with an icon.

Dynamic tokens

Dynamic tokens change across window sizes.

Do
  • Use for left and right spacing in full-width elements like app bars, banners, sheets, etc.
Don't
  • Don't use for top and bottom spacing.
  • Don't use when pairing text and icons that go together, as too much spacing can harm usability.

Space tokens

Space tokens define the padding inside elements and the spacing between them.

layout-space-example
space static
4px
4px
50
Syntax: Android
space_static50
8px
8px
100
Syntax: Android
space_static100
12px
12px
150
Syntax: Android
space_static150
16px
16px
200
Syntax: Android
space_static200
24px
24px
300
Syntax: Android
space_static300
32px
32px
400
Syntax: Android
space_static400
40px
40px
500
Syntax: Android
space_static500
48px
48px
600
Syntax: Android
space_static600
space dynamic
4px
4px
8px
8px
50
Syntax: Android
space_dynamic50
8px
8px
12px
12px
100
Syntax: Android
space_dynamic100
12px
12px
16px
16px
150
Syntax: Android
space_dynamic150
16px
16px
24px
24px
200
Syntax: Android
space_dynamic200
24px
24px
32px
32px
300
Syntax: Android
space_dynamic300
32px
32px
40px
40px
400
Syntax: Android
space_dynamic400
40px
40px
48px
48px
500
Syntax: Android
space_dynamic500
48px
48px
56px
56px
600
Syntax: Android
space_dynamic600

Size tokens

Size tokens define the height or width of images, illustrations, icons, or a fixed height of a component.

layout-size-example
size static
8px
8px
100
Syntax: Android
size_static100
16px
16px
200
Syntax: Android
size_static200
20px
20px
250
Syntax: Android
size_static250
24px
24px
300
Syntax: Android
size_static300
32px
32px
400
Syntax: Android
size_static400
48px
48px
600
Syntax: Android
size_static600
64px
64px
800
Syntax: Android
size_static800
80px
80px
1000
Syntax: Android
size_static1000
96px
96px
1200
Syntax: Android
size_static1200
104px
104px
1300
Syntax: Android
size_static1300
112px
112px
1400
Syntax: Android
size_static1400
size dynamic
8px
8px
16px
16px
100
Syntax: Android
size_dynamic100
16px
16px
24px
24px
200
Syntax: Android
size_dynamic200
20px
20px
24px
24px
250
Syntax: Android
size_dynamic250
24px
24px
32px
32px
300
Syntax: Android
size_dynamic300
32px
32px
48px
48px
400
Syntax: Android
size_dynamic400
48px
48px
64px
64px
600
Syntax: Android
size_dynamic600
64px
64px
80px
80px
800
Syntax: Android
size_dynamic800
80px
80px
96px
96px
1000
Syntax: Android
size_dynamic1000
96px
96px
104px
104px
1200
Syntax: Android
size_dynamic1200
104px
104px
112px
112px
1300
Syntax: Android
size_dynamic1300
112px
112px
120px
120px
1400
Syntax: Android
size_dynamic1400

Max-width tokens

Max-width tokens define the maximum width of an element or container. This is to prevent components from stretching too wide on large-screen devices.

layout-max-width-example
max width
400px
400px
small
Max-width for buttons
Syntax: Android
max_width_small
600px
600px
medium
Default page container max-width and max-width for dialogs, sheets, snackbars, etc
Syntax: Android
max_width_medium
800px
800px
large
Default page container max-width when user has increased device font size
Syntax: Android
max_width_large