Line Height
Utilities for controlling the leading (line height) of an element.
Default class reference
Class | Properties |
---|---|
leading-3 | line-height: .75rem; |
leading-4 | line-height: 1rem; |
leading-5 | line-height: 1.25rem; |
leading-6 | line-height: 1.5rem; |
leading-7 | line-height: 1.75rem; |
leading-8 | line-height: 2rem; |
leading-9 | line-height: 2.25rem; |
leading-10 | line-height: 2.5rem; |
leading-none | line-height: 1; |
leading-tight | line-height: 1.25; |
leading-snug | line-height: 1.375; |
leading-normal | line-height: 1.5; |
leading-relaxed | line-height: 1.625; |
leading-loose | line-height: 2; |
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.
<p class="leading-none ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-tight ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-snug ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-normal ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-relaxed ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-loose ...">Lorem ipsum dolor sit amet ...</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.
<p class="leading-3 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-4 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-5 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-6 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-7 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-8 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-9 ...">Lorem ipsum dolor sit amet ...</p>
<p class="leading-10 ...">Lorem ipsum dolor sit amet ...</p>
Responsive
To control the line height of an element at a specific breakpoint, add a {screen}:
prefix to any existing line height utility. For example, use md:leading-loose
to apply the leading-loose
utility at only medium screen sizes and above.
<p class="leading-none md:leading-loose ...">Lorem ipsum dolor sit amet ...</p>
For more information about Tailwind’s responsive design features, check out the Responsive Design documentation.
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.
<!-- The `leading-loose` class will be overridden at the `md` breakpoint -->
<p class="text-lg leading-loose md:text-xl">
Lorem ipsum dolor sit amet ...
</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:
<!-- The `leading-loose` class will be overridden at the `md` breakpoint -->
<p class="text-lg leading-loose md:text-xl md:leading-loose">
Lorem ipsum dolor sit amet ...
</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.
Customizing
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
module.exports = {
theme: {
extend: {
lineHeight: {
+ 'extra-loose': '2.5',
+ '12': '3rem',
}
}
}
}
Variants
By default, only responsive variants are generated for line height utilities.
You can control which variants are generated for the line height utilities by modifying the lineHeight
property in the variants
section of your tailwind.config.js
file.
For example, this config will also generate hover and focus variants:
// tailwind.config.js
module.exports = {
variants: {
extend: {
// ...
+ lineHeight: ['hover', 'focus'],
}
}
}
Disabling
If you don’t plan to use the line height utilities in your project, you can disable them entirely by setting the lineHeight
property to false
in the corePlugins
section of your config file:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ lineHeight: false,
}
}