Typography

Line Height

Utilities for controlling the leading (line height) of an element.

Quick reference

Class
Properties
leading-3line-height: .75rem;
leading-4line-height: 1rem;
leading-5line-height: 1.25rem;
leading-6line-height: 1.5rem;
leading-7line-height: 1.75rem;
leading-8line-height: 2rem;
leading-9line-height: 2.25rem;
leading-10line-height: 2.5rem;
leading-noneline-height: 1;
leading-tightline-height: 1.25;
leading-snugline-height: 1.375;
leading-normalline-height: 1.5;
leading-relaxedline-height: 1.625;
leading-looseline-height: 2;

Show all classes

Basic usage

Relative line-heights

Use the leading-none, leading-tight, leading-snug, leading-normal, leading-relaxed, and leading-loose utilities to give an element a relative line-height based on its current font-size.

Line Height - 图1

  1. <p class="leading-6 ...">So I started to walk into the water...</p>
  2. <p class="leading-7 ...">So I started to walk into the water...</p>
  3. <p class="leading-8 ...">So I started to walk into the water...</p>

Fixed line-heights

Use the leading-{size} utilities to give an element a fixed line-height, irrespective of the current font-size. These are useful when you need very precise control over an element’s final size.

Line Height - 图2

  1. <p class="leading-6 ...">So I started to walk into the water...</p>
  2. <p class="leading-7 ...">So I started to walk into the water...</p>
  3. <p class="leading-8 ...">So I started to walk into the water...</p>

Applying conditionally

Hover, focus, and other states

Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:leading-loose to only apply the leading-loose utility on hover.

  1. <p class="leading-none hover:leading-loose">
  2. <!-- ... -->
  3. </p>

For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.

Breakpoints and media queries

You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:leading-loose to apply the leading-loose utility at only medium screen sizes and above.

  1. <p class="leading-none md:leading-loose">
  2. <!-- ... -->
  3. </p>

To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.

Overriding default line-heights

It’s important to note that by default, Tailwind’s font-size utilities each set their own default line-height. This means that any time you use a responsive font-size utility like sm:text-xl, any explicit line-height you have set for a smaller breakpoint will be overridden.

  1. <!-- The `leading-loose` class will be overridden at the `md` breakpoint -->
  2. <p class="text-lg leading-loose md:text-xl">
  3. Maybe we can live without libraries...
  4. </p>

If you want to override the default line-height after setting a breakpoint-specific font-size, make sure to set a breakpoint-specific line-height as well:

  1. <!-- The `leading-loose` class will be overridden at the `md` breakpoint -->
  2. <p class="text-lg leading-loose md:text-xl md:leading-loose">
  3. Maybe we can live without libraries...
  4. </p>

Using the same line-height across different font sizes is generally not going to give you good typographic results. Line-height should typically get smaller as font-size increases, so the default behavior here usually saves you a ton of work. If you find yourself fighting it, you can always customize your font-size scale to not include default line-heights.


Using custom values

Customizing your theme

By default, Tailwind provides six relative and eight fixed line-height utilities. You change, add, or remove these by customizing the lineHeight section of your Tailwind theme config.

tailwind.config.js

  1. module.exports = { theme: { extend: { lineHeight: { 'extra-loose': '2.5', '12': '3rem', } } }}

Learn more about customizing the default theme in the theme customization documentation.

Arbitrary values

If you need to use a one-off line-height value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.

  1. <p class="leading-[3rem]">
  2. <!-- ... -->
  3. </p>

Learn more about arbitrary value support in the arbitrary values documentation.