Typography
Font size, weight, style, and family utilities.
Font Size
The numeric scale fs-1 through fs-6 matches Bootstrap's h1-h6/fs-1-fs-6 values; the same scale drives the built-in h1-h6 elements and the .h1-.h6 heading aliases.
fs-1 - The quick brown fox
fs-2 - The quick brown fox
fs-3 - The quick brown fox
fs-4 - The quick brown fox
fs-5 - The quick brown fox
fs-6 - The quick brown fox
<p class="fs-1">The quick brown fox</p>
<p class="fs-2">The quick brown fox</p>
<p class="fs-3">The quick brown fox</p>
<p class="fs-4">The quick brown fox</p>
<p class="fs-5">The quick brown fox</p>
<p class="fs-6">The quick brown fox</p>
| Class | Properties | Description |
|---|---|---|
fs-1 | font-size: 2.5rem | Largest heading size |
fs-2 | font-size: 2rem | Second-level heading |
fs-3 | font-size: 1.75rem | Third-level heading |
fs-4 | font-size: 1.5rem | Sub-heading |
fs-5 | font-size: 1.25rem | Large body text |
fs-6 | font-size: 1rem | Small heading / lead text |
Pixel-based fluid sizes
For fine-grained control, use font-{n} classes where n is a pixel size from the predefined scale. The named step always stays pixel-based, with clamp() used internally for fluid scaling.
<p class="font-12">12px text</p>
<p class="font-16">16px text</p>
<p class="font-24">24px text</p>
<p class="font-48">48px text</p>
<p class="font-96">96px text</p>
Available values: 1-16, 18, 20-22, 24, 26, 28, 32, 36, 40, 42, 44, 48, 54, 60, 64, 66, 72, 80, 88, 96.
Named scale
The named scale text-xs through text-6xl matches Tailwind's text-xs-text-6xl values.
| Class | Properties | Description |
|---|---|---|
text-xs | font-size: 0.75rem | 12px |
text-sm | font-size: 0.875rem | 14px |
text-base | font-size: 1rem | 16px |
text-lg | font-size: 1.125rem | 18px |
text-xl | font-size: 1.25rem | 20px |
text-2xl | font-size: 1.5rem | 24px |
text-3xl | font-size: 1.875rem | 30px |
text-4xl | font-size: 2.25rem | 36px |
text-5xl | font-size: 3rem | 48px |
text-6xl | font-size: 3.75rem | 60px |
Font Weight
Control the visual weight of text with numeric or keyword weight classes.
fw-100 - The quick brown fox jumps over the lazy dog
fw-200 - The quick brown fox jumps over the lazy dog
fw-300 - The quick brown fox jumps over the lazy dog
fw-400 - The quick brown fox jumps over the lazy dog
fw-500 - The quick brown fox jumps over the lazy dog
fw-600 - The quick brown fox jumps over the lazy dog
fw-700 - The quick brown fox jumps over the lazy dog
fw-800 - The quick brown fox jumps over the lazy dog
fw-900 - The quick brown fox jumps over the lazy dog
<p class="fw-300">Light text</p>
<p class="fw-400">Normal text</p>
<p class="fw-700">Bold text</p>
| Class | Properties | Description |
|---|---|---|
fw-100 | font-weight: 100 | Thin |
fw-200 | font-weight: 200 | Extra light |
fw-300 | font-weight: 300 | Light |
fw-400 | font-weight: 400 | Regular / normal |
fw-500 | font-weight: 500 | Medium |
fw-600 | font-weight: 600 | Semi-bold |
fw-700 | font-weight: 700 | Bold |
fw-800 | font-weight: 800 | Extra bold |
fw-900 | font-weight: 900 | Black / heavy |
bold | font-weight: bold | Keyword bold |
normal | font-weight: normal | Keyword normal |
lighter | font-weight: lighter | Relative lighter |
Font Style
Apply italic or oblique style to text.
italic - The quick brown fox jumps over the lazy dog
oblic - The quick brown fox jumps over the lazy dog
<p class="italic">Italic text</p>
<p class="text-italic">Also italic</p>
<p class="oblic">Oblique text</p>
| Class | Properties | Description |
|---|---|---|
italic / text-italic | font-style: italic | Italic text |
oblic / text-oblic | font-style: oblique | Oblique text |
Font Family
ArchCSS ships with a comprehensive $font_face map that registers system fonts, web-safe fonts, and Google Fonts. Font-family classes are generated automatically - each key becomes both a standalone class and a font-{key} variant.
<p class="poppins">Poppins font</p>
<p class="font-inter">Inter font</p>
<p class="jetbrainsmono">JetBrains Mono</p>
System & web-safe fonts
| Class | Font family value | Description |
|---|---|---|
verdana | Verdana, 'Bitstream Vera Sans', …, sans-serif | Web-safe sans-serif |
tahoma | Tahoma, sans-serif | Web-safe sans-serif |
geneva | Geneva, sans-serif | Web-safe sans-serif |
segoeui | 'Segoe UI', sans-serif | Windows system font |
arial | Arial, Helvetica, Geneva, Verdana, …, sans-serif | MS core sans-serif |
helvetica | Helvetica, sans-serif | Classic sans-serif |
roboto | Roboto, sans-serif | Google sans-serif |
ubuntu | Ubuntu, sans-serif | Ubuntu system font |
timesnroman | Times New Roman | Classic serif |
times | Times | Serif |
serif | serif | Generic serif |
sans-serif | sans-serif | Generic sans-serif |
monospace | monospace, consolas | Generic monospace |
calibri | Calibri | MS Office font |
system-ui | system-ui, -apple-system, … | OS-native system stack |
Google Fonts
Google Fonts are loaded automatically in the default build. Disabling them yourself by building from SCSS source is coming in a future release.
| Class | Font name | Category |
|---|---|---|
inter / font-inter | Inter | Sans-serif |
lato / font-lato | Lato | Sans-serif |
nunito / font-nunito | Nunito | Sans-serif |
opensans / font-opensans | Open Sans | Sans-serif |
outfit / font-outfit | Outfit | Sans-serif |
poppins / font-poppins | Poppins | Sans-serif |
raleway / font-raleway | Raleway | Sans-serif |
sourcesans / font-sourcesans | Source Sans 3 | Sans-serif |
firasans / font-firasans | Fira Sans | Sans-serif |
dmsans / font-dmsans | DM Sans | Sans-serif |
playfair / font-playfair | Playfair Display | Serif |
merriweather / font-merriweather | Merriweather | Serif |
lora / font-lora | Lora | Serif |
ptserif / font-ptserif | PT Serif | Serif |
crimsonpro / font-crimsonpro | Crimson Pro | Serif |
spacemono / font-spacemono | Space Mono | Monospace |
jetbrainsmono / font-jetbrainsmono | JetBrains Mono | Monospace |
firamono / font-firamono | Fira Mono | Monospace |
ibmplexmono / font-ibmplexmono | IBM Plex Mono | Monospace |
inconsolata / font-inconsolata | Inconsolata | Monospace |
Using font tokens in SCSS
Once SCSS source usage is public, you'll be able to access any registered font family directly from the $font_face map in your own SCSS:
Coming soon. This SCSS workflow isn't available in the published package yet.
@use 'sass:map';
@use 'archcss/src/scss/config' as *;
.my-element {
font-family: map.get($font_face, 'poppins');
}
.my-heading {
font-family: map.get($font_face, 'playfair');
font-weight: 700;
}
Line Height
Control the spacing between lines of text with the lh-{n} scale.
| Class | Properties | Description |
|---|---|---|
lh-1 | line-height: 1.25 | Tight |
lh-2 | line-height: 1.5 | Default comfortable |
lh-3 | line-height: 2.75 | Relaxed |
lh-4 | line-height: 3 | Loose |
lh-5 | line-height: 3.25 | Extra loose |
lh-6 | line-height: 3.5 | Maximum loose |
Responsive variants. Allfs-*,fw-*, andlh-*classes support responsive prefixes - e.g.md:fs-3,lg:fw-700. The font-style and font-family classes also support hover and focus pseudo-variants.