A Tailwind CSS plugin that provides accent color utilities using CSS custom properties based on the Tailwind CSS default color palette.
This plugin has been tested with Tailwind CSS v2 and v3.
Installation
Install the plugin from npm:
npm install -D tailwindcss-accent
Then add the plugin to your tailwind.config.js
file:
module.exports = {
theme: {
// ...
},
plugins: [
require('tailwindcss-accent')({
colors: ['violet', 'blue'],
root: 'blue',
cssVarsPrefix: 'tw-plugin', // result: --tw-plugin-accent-200
}),
// ...
],
};
Plugin Options
Option | Description |
---|---|
colors (REQUIRED) | Include specific color(s). View the available colors section. |
root | Set color from colors option as :root accent color. |
cssVarsPrefix | Set prefix for css variables name. default to 'tw-ta' (e.g: --tw-ta-accent-200 ) |
The cssVarsPrefix
option can help prevent naming conflicts and make it easier for you to use accent CSS variables in your styles.
Available Colors
Check the default color palettes for the Tailwind CSS v2 and the Tailwind CSS v3.
Basic Usage
Add the data-accent
attribute to your root/html element (or simply set the root
plugin option).
<html data-accent="blue">
<!-- ... -->
</html>
Now, instead of writing text-blue-600
, with this plugin you can write text-accent-600
.
The accent color will follow the value of the nearest parent element's data-accent
attribute, or the element itself.
Let the code speak:
<!-- default to :root -->
<p class="text-accent-600">this text has a blue (:root) accent color.</p>
<div data-accent="violet">
<!-- based on nearest parent element: violet. -->
<p class="text-accent-600">this text has a violet accent color.</p>
<!-- based on nearest parent element: violet. -->
<p class="text-accent-600">
this text has a violet
<!-- overrides the parent's accent color to blue. -->
<span data-accent="blue" class="text-accent-600">and blue</span>
accent color!
</p>
</div>
Examples
Real-world Example
This website uses this plugin. By default, all pages use the violet
accent color, except for pages under the work/
path, which have a blue
accent color.
You can see the difference in the table of contents, header caption, text selection, links, etc.
See the configuration file and implementation code for details.
Live Example
Want to see something cool? Click this button and watch the accent color on this page change.
You should already know that the button doesn't change the color classes of all components. This single line of code—
document.documentElement.setAttribute('data-accent', newAccent);
—does the magic by simply changing the html data-accent
attribute value to the new accent color, and components that use the -accent-*
color will follow the changes.
Changing your website's accent color has never been this easy 🔥
License
tailwindcss-accent
is licensed under the MIT License.