JSPM

@yet3/tailwindcss-fluid-text

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q28311F
  • License MIT

TailwindCss plugin that adds fluid typography

Package Exports

  • @yet3/tailwindcss-fluid-text
  • @yet3/tailwindcss-fluid-text/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@yet3/tailwindcss-fluid-text) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

TailwindCSS fluid text

GitHub license npm

A plugin that adds fluid typography to TailwindCss

Table of Contents

Installation

npm install @yet3/tailwindcss-fluid-text

or

yarn add @yet3/tailwindcss-fluid-text

In tailwind.config.js

/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  plugins: [
    // ...
    require('@yet3/tailwindcss-fluid-text'),
  ],
};

Basic usage

<div class="fluid-text-base-3xl">
<div class="fluid-text-lg-sm">

Arbitrary values

<!-- fluid-text-xs-base-[screenMin,screenMax]   -->
<div class="fluid-text-xs-base-[640,960]">
<!-- fluid-text-[sizeMin,sizeMax,screenMin,screenMax]  -->
<div class="fluid-text-[1.25,3,400,960]">
<!-- fluid-text-[sizeMin,sizeMax,screenMin,screenMax]  -->
<!-- screenMin and screenMax will be equal to values configured in plugin options  -->
<div class="fluid-text-[2,2.5]">

Options

Name Type Default value Example value Description
fontSizeUnit string "rem" "rem", "px" Default unit of sizeMin and sizeMax. Can be either "rem" or "px"
sizeMin number, string 1 0.5, "24px", "3rem" Minimal font size. Value can be a number (will use unit from fontSizeUnit option), or as string with sufix of "px" or "rem"
sizeMax number, string 2 2.1, "12px", "1rem" Maximal font size. Value can be a number (will use unit from fontSizeUnit option), or as string with sufix of "px" or "rem"
screenUnit string "px" "rem", "px" Default unit of screenMin and screenMax. Can be either "rem" or "px"
screenMin number, string 375 25, "360px", "32rem" Minimal screen width. Value can be a number (will use unit from screenUnit option), or as string with sufix of "px" or "rem"
screenMax number, string 1024 90, "1024px", "45rem" Maximal screen width. Value can be a number (will use unit from screenUnit option), or as string with sufix of "px" or "rem"
rootFontSize number 16 16, 24, 32 Font size of root element in pixels (1rem = ?px)
generateFromFontSizes boolean true true, false Whether plugin should generate fluid-text utilities from fontSizes configured in tailwind. (can only be used in plugin options)

Config example

/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  theme: {
    extend: {
      fluidText: {
        'sm-base': {
          sizeMin: '12px'
          sizeMax: '16px'
          screenMin: '30rem'  // 480px,
          screenMax: '60rem'  // 960px
        },
        'sm-big': {
          sizeMin: 0.75   // 0.75rem,
          sizeMax: 2      // 2rem,
          // screenMin: default 375
          // screenMax: default 1024
        },
      },
    },
  },
  plugins: [
    // ...
    require('@yet3/tailwindcss-fluid-text')({
      rootFontSize: 16, // 1rem = 16px
      fontSizeUnit: 'rem',
      sizeMin: 1,       // default min font size (in rem)
      sizeMax: 2,       // default max font size (in rem)
      screenUnit: 'px',
      screenMin: 375,   // default min screen width (in px)
      screenMax: 1024,  // default max screen width (in px)
      generateFromFontSizes: true,
    }),
  ],
};

Live demo

Play around on TailwindPlay

Inspired by