Appearance
Relative unit
By default, the fluid font-sizes are relative to viewport width. Use a text-relative-unit-* class to change the relative unit. For example, you could have text grow or shrink relative to dvh (responding to the appearance and disappearance of mobile browser UI), or to a container size. Choose between
- viewport units:
vw,vh,vi,vb,vmin,vmax - device units:
dvh,dvw - container units:
cqw,cqh,cqi,cqb,cqmincqmax
Here's an example relative to container width (cqw). (Its custom <screen>s aren't essential to the functionality — they're chosen to play nicely with this site's layout.)
html
<div class="text-fluid text-from-[sm@450px] text-to-[lg@688px] text-relative-unit-cqw">…</div>This sentence is .text-sm if its container is narrower than 450px, .text-lg if its container is wider than 688px, and fluid in between.
And here's an example relative to viewport height (vh):
html
<div class="text-fluid text-from-sm text-to-lg text-relative-unit-vh">…</div>This sentence is .text-sm if the viewport is shorter than sm, .text-lg if the viewport is taller than 2xl, and fluid in between.
If you use a container unit, don't forget to define a container parent, with container-type CSS. tailwindcss-fluid-font-size plays nice with the first-party tailwindcss-container-queries plugin, but note that the container plugin (at v0.1.1 as of this writing) always uses container-type: inline-size. If you want to make font-size relative to a container's block size, you may need to roll your own plugin or arbitrary class.
Don't see the unit you need?
🙏 If tailwindcss-fluid-font-size is missing a CSS unit font size could be relative to (MDN list) please open an issue and, if you're up for it, a pull request! See Contributing.