PostCSS Responsive Type
PostCSS plugin for automagical responsive typography. Adds a responsive
property to font-size
, line-height
and letter-spacing
that generates complex calc
and vw
based font sizes.
Inspired by this post from @MikeRiethmuller, and Typographic.
Part of Rucksack - CSS Superpowers.
Quick start:
Specify parameters:
Units can be in px, rem, or em. When using em units, be sure that the font-range
is specified in em as well.
Expanded syntax:
line-height
and letter-spacing
:
Responsive PostCSS Responsive Type also allows you to set fluid sizes for the line-height
and letter-spacing
properties. They have the same syntax and work the same way as responsive font sizes.
Note: Unitless line heights are not supported.
--
Defaults
To get started you only need to specify the responsive
property, all other values have sane defaults.
font-size
-
min-font-size
: 14px -
max-font-size
: 21px -
lower-font-range
: 420px -
upper-font-range
: 1280px
line-height
-
min-line-height
: 1.2em -
max-line-height
: 1.8em -
lower-line-height-range
: 420px -
upper-line-height-range
: 1280px
letter-spacing
-
min-letter-spacing
: 0px -
max-letter-spacing
: 4px -
lower-letter-spacing-range
: 420px -
upper-letter-spacing-range
: 1280px
--
Browser Support
postcss-responsive-type
just uses calc, vw units, and media queries behind the scenes, so it works on all modern browsers (IE9+). Although Opera Mini is not supported.
Legacy browsers will ignore the output responsive
font-size. You can easily provide a simple static fallback:
Alternatively, if you feel the need to fully support legacy browsers or Opera Mini, there are polyfills that can help!
-
respond for media query support.
-
calc-polyfill for
calc
support. -
vminpoly for
vw
unit support.
--
Usage
See PostCSS docs for examples for your environment.
You can use postcss-responsive-type
with Stylus through PostStylus.
--
License
MIT © Sean King