Applying type ​
Utilities for controlling the typeface of an element. These includes font family, weight, size, line height and letter spacing all in one class.
INFO
Hierarchy is communicated through differences in font weight, size, line height, and letter spacing. The updated type scale organizes styles into five roles that are named to describe their purposes: Display, headline, title, label, body. The new roles are device-agnostic, allowing easier application across a variety of use cases.
💡 Tip
The typescale classes are designed to provide fluid scaling for all font-sizes and line-height, ensuring consistency and adaptability in the designs. These classes allow us to maintain harmonious spacing across the components and layouts.
To gain a deeper understanding of how these font-size and line-height values are calculated and the principles behind the fluid scaling system, we recommend referring to our dedicated documentation on the Foundation/Fluid Scaling page.
Display ​
| Class Name | CSS Equivalent |
|---|---|
| display-large | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(1.23rem, 0.44rem + 3.95vw, 3.6rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.38rem, 0.5rem + 4.42vw, 4.03rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* -0.016rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| display-medium | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(1.12rem, 0.55rem + 2.87vw, 2.84rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.3rem, 0.63rem + 3.33vw, 3.3rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| display-small | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(1.02rem, 0.61rem + 2.05vw, 2.25rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.22rem, 0.73rem + 2.45vw, 2.69rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
<div class="display-large">Display large</div>
<div class="display-medium">Display medium</div>
<div class="display-small">Display small</div>Headline ​
| Class Name | CSS Equivalent |
|---|---|
| headline-large | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.97rem, 0.63rem + 1.72vw, 2rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.21rem, 0.78rem + 2.13vw, 2.49rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| headline-medium | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.92rem, 0.64rem + 1.42vw, 1.77rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.18rem, 0.81rem + 1.83vw, 2.28rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| headline-small | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.88rem, 0.65rem + 1.17vw, 1.58rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.17rem, 0.86rem + 1.55vw, 2.1rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
<div class="headline-large">Headline large</div>
<div class="headline-medium">Headline medium</div>
<div class="headline-small">Headline small</div>Title ​
| Class Name | CSS Equivalent |
|---|---|
| title-large | font-family: var(--cds-sys-typescale--brand); /* Asap */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.84rem, 0.65rem + 0.93vw, 1.4rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.06rem, 0.82rem + 1.2vw, 1.78rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0 */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| title-medium | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.72rem, 0.63rem + 0.43vw, 0.98rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.08rem, 0.95rem + 0.67vw, 1.48rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.009rem */ weight: var(--cds-sys-typescale--weight); /* 600 */ |
| title-small | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.69rem, 0.63rem + 0.32vw, 0.88rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.98rem, 0.89rem + 0.45vw, 1.25rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.006rem */ weight: var(--cds-sys-typescale--weight); /* 600 */ |
<div class="title-large">Title large</div>
<div class="title-medium">Title medium</div>
<div class="title-small">Title small</div>Body ​
| Class Name | CSS Equivalent |
|---|---|
| body-large | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.72rem, 0.63rem + 0.43vw, 0.98rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.08rem, 0.95rem + 0.67vw, 1.48rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.031rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| body-medium | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.69rem, 0.63rem + 0.32vw, 0.88rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.98rem, 0.89rem + 0.45vw, 1.25rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.016rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| body-small | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.65rem, 0.61rem + 0.22vw, 0.78rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.87rem, 0.82rem + 0.27vw, 1.03rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.025rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
<div class="body-large">Body large</div>
<div class="body-medium">Body medium</div>
<div class="body-small">Body small</div>Body ​
| Class Name | CSS Equivalent |
|---|---|
| body-large | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.72rem, 0.63rem + 0.43vw, 0.98rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(1.08rem, 0.95rem + 0.67vw, 1.48rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.031rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| body-medium | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.69rem, 0.63rem + 0.32vw, 0.88rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.98rem, 0.89rem + 0.45vw, 1.25rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.016rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
| body-small | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.65rem, 0.61rem + 0.22vw, 0.78rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.87rem, 0.82rem + 0.27vw, 1.03rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.025rem */ weight: var(--cds-sys-typescale--weight); /* 400 */ |
<div class="body-large">Body large</div>
<div class="body-medium">Body medium</div>
<div class="body-small">Body small</div>Label ​
| Class Name | CSS Equivalent |
|---|---|
| label-large | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.65rem, 0.61rem + 0.22vw, 0.78rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.94rem, 0.88rem + 0.28vw, 1.11rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.006rem */ weight: var(--cds-sys-typescale--weight); /* 600 */ |
| label-medium | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.62rem, 0.6rem + 0.12vw, 0.69rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.83rem, 0.8rem + 0.15vw, 0.92rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.031rem */ weight: var(--cds-sys-typescale--weight); /* 600 */ |
| label-small | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.59rem, 0.58rem + 0.03vw, 0.61rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.86rem, 0.85rem + 0.05vw, 0.89rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.031rem */ weight: var(--cds-sys-typescale--weight); /* 600 */ |
| label-overline | font-family: var(--cds-sys-typescale--brand); /* Open Sans */ font-size: var(--cds-sys-typescale--font-size); /* clamp(0.62rem, 0.6rem + 0.12vw, 0.69rem) */ line-height: var(--cds-sys-typescale--line-height); /* clamp(0.83rem, 0.8rem + 0.15vw, 0.92rem) */ letter-spacing: var(--cds-sys-typescale--tracking); /* 0.2rem */ weight: var(--cds-sys-typescale--weight); /* 300 */ |
<div class="label-large">Label large</div>
<div class="label-medium">Label medium</div>
<div class="label-small">Label small</div>
<div class="label-overline">Label overline</div>How to use ​
These 16 classes combine easily in consistent layouts:
About
Source:
<div class="max-w-full w-s m-i-auto surface elevation-1 corner-m stack p-i-s p-b-xs">
<div class="flex items-center gap-s">
<img class="icon-size-3xl corner-full" :src="first.profilePicture" />
<div>
<div class="label-overline">{{ first.role }} </div>
<div class="body-large">{{ first.fullName }} </div>
<div class="label-medium">{{ first.email }}</div>
</div>
</div>
<div>
<div class="stack stack-space-3xs">
<h6>About</h6>
<div class="body-medium">Nulla dolor velit ...<sup>*</sup></div>
</div>
</div>
<div class="label-small on-surface-variant"> <sup>*</sup>Some super fancy footnote </div>
</div>