Outline
Utilities for controlling an element's outline.
Remove outlines
Use outline-none to hide the default browser outline on focused elements.
It is highly recommended to apply your own focus styling for accessibility when using this utility.
<input type="text"
placeholder="Default focus style"
class="..." />
<input type="text"
placeholder="Custom focus style"
class="focus:outline-none focus:shadow-outline focus:border-blue-300 ..." />The outline-none utility is implemented using a transparent outline under the hood to ensure elements are still visibly focused to Windows high contrast mode users.
Dotted outlinesv1.9.0+
Use the outline-white and outline-black utilities to add a 2px dotted border around an element with a 2px offset. These are useful as an accessible general purpose custom focus style if you don't want to design your own.
<button class="focus:outline-black ...">Button A</button>
<button class="focus:outline-white ...">Button B</button>Customizing
Outlinesv1.9.0+
By default Tailwind provides three outline utilities. You can customize these by editing the theme.outline section of your tailwind.config.js file.
// tailwind.config.js
module.exports = {
theme: {
extend: {
outline: {
blue: '2px solid #0000ff',
}
}
}
}You can also provide an outline-offset value for any custom outline utilities using a tuple of the form [outline, outlineOffset]:
// tailwind.config.js
module.exports = {
theme: {
extend: {
outline: {
blue: ['2px solid #0000ff', '1px'],
}
}
}
}Responsive and pseudo-class variants
By default, only responsive and focus variants are generated for outline utilities.
You can control which variants are generated for the outline utilities by modifying the outline property in the variants section of your tailwind.config.js file.
For example, this config will also generate hover and active variants:
// tailwind.config.js
module.exports = {
variants: {
// ...
- outline: ['responsive', 'focus'],
+ outline: ['responsive', 'focus', 'hover', 'active'],
}
}Disabling
If you don't plan to use the outline utilities in your project, you can disable them entirely by setting the outline property to false in the corePlugins section of your config file:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ outline: false,
}
}