Skip to Content
DocumentationTypography

Typography

Font size

You can scale the font size with the CSS custom property --unitone--font-size. Variations on font size are available based on the harmonic sequence. The minimum value is -2 and the maximum value is 7.

If you scale the font size with this CSS custom property, the line-height will be automatically set to an appropriate value (By default, it scales from 1.1(= 1 + var(--unitone--min-half-leading) * 2) to 1.6(= 1 + var(--unitone--half-leading) * 2), depending on font size.).

Approximate font sizes with the default --unitone--base-font-size: 16 are:

--unitone--font-sizeUtility classApprox. remApprox. px
-3.-font-size:2xs0.727rem11.6px
-2.-font-size:xs0.8rem12.8px
-1.-font-size:s0.889rem14.2px
0.-font-size:m1rem16px
1.-font-size:l1.143rem18.3px
2.-font-size:xl1.333rem21.3px
3.-font-size:2xl1.6rem25.6px
4.-font-size:3xl2rem32px
5.-font-size:4xl2.667rem42.7px
6.-font-size:5xl4rem64px
7.-font-size:6xl8rem128px

These are static size approximations. When -fluid-typography is used, the actual rendered size changes within a range depending on the viewport.

When using large font sizes such as 2xl and above, combining them with -fluid-typography is recommended. This helps prevent oversized text from breaking the layout on mobile screens.

For plain HTML, there are two valid entry points:

  • set --unitone--font-size directly in style
  • use the utility class from utilities.mdx, such as class="-font-size:xl"

When you use the utility version, apply it with class, not data-unitone-layout. The leading . seen in CSS selector notation is not included in the class attribute value.

<p style="--unitone--font-size: 2"> ... </p>
<p class="-font-size:xl"> ... </p>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Line height

The half leading can be set. The default value is 0.3.

<p style="--unitone--half-leading: 0.3"> ... </p>

Fluid typography

The default font size for unitone CSS is fluid typography, but by adding data-unitone-layout="-fluid-typography", the line-height can also be scaled to an optimal value as the font size is scaled The line-height can also be adjusted to the optimum value as the font size expands and contracts.

Approximate fluid font-size ranges with the default --unitone--base-font-size: 16 are:

--unitone--font-sizeUtility classMin remMin pxMax remMax px
-3.-font-size:2xs0.727rem11.6px0.727rem11.6px
-2.-font-size:xs0.8rem12.8px0.8rem12.8px
-1.-font-size:s0.889rem14.2px0.889rem14.2px
0.-font-size:m1rem16px1rem16px
1.-font-size:l1.089rem17.4px1.143rem18.3px
2.-font-size:xl1.2rem19.2px1.333rem21.3px
3.-font-size:2xl1.343rem21.5px1.6rem25.6px
4.-font-size:3xl1.533rem24.5px2rem32px
5.-font-size:4xl1.8rem28.8px2.667rem42.7px
6.-font-size:5xl2.2rem35.2px4rem64px
7.-font-size:6xl2.867rem45.9px8rem128px

These values are the approximate minimum and maximum lengths generated by clamp() across the default viewport range.

When using large font sizes such as 2xl and above, combining them with -fluid-typography is recommended. This helps prevent oversized text from breaking the layout on mobile screens.

In plain HTML, the utility version is a class:

<p class="-font-size:6xl -fluid-typography"> ... </p>

When you use this feature with partial JavaScript loading, also load the compatibility entry for Firefox.

import '@inc2734/unitone-css/compatibility/fluid-typography'; // or import '@inc2734/unitone-css/compatibility'; // or import '@inc2734/unitone-css/app';
<p style="--unitone--font-size: 7" data-unitone-layout="-fluid-typography"> ... </p>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Auto line breaks

Use overflow-wrap: anywhere + word-break: keep-all for automatic line breaks. Use wbr to indicate a line break at an arbitrary position.

<p data-unitone-layout="-auto-phrase"> ... </p>
Last updated on