Tailwind CSS plugin system allows developers to extend framework functionality, adding custom utility classes and components.
Official plugins:
-
@tailwindcss/forms: form styles plugin
- Provides basic styles for form elements
- Resets default styles of form elements
- Install: npm install -D @tailwindcss/forms
- Usage:
javascript
// tailwind.config.js plugins: [ require('@tailwindcss/forms'), ] - Example:
html
<input type="text" class="form-input"> <select class="form-select"> <option>Option 1</option> <option>Option 2</option> </select>
-
@tailwindcss/typography: typography plugin
- Provides beautiful typography styles for content areas
- Supports prose class
- Install: npm install -D @tailwindcss/typography
- Usage:
javascript
// tailwind.config.js plugins: [ require('@tailwindcss/typography'), ] - Example:
html
<article class="prose lg:prose-xl"> <h1>Article Title</h1> <p>Article content goes here.</p> </article>
-
@tailwindcss/aspect-ratio: aspect ratio plugin
- Provides aspect ratio utility classes
- Install: npm install -D @tailwindcss/aspect-ratio
- Usage:
javascript
// tailwind.config.js plugins: [ require('@tailwindcss/aspect-ratio'), ] - Example:
html
<div class="aspect-w-16 aspect-h-9"> <img src="image.jpg" alt="Image"> </div>
-
@tailwindcss/line-clamp: text truncation plugin
- Provides text truncation utility classes
- Install: npm install -D @tailwindcss/line-clamp
- Usage:
javascript
// tailwind.config.js plugins: [ require('@tailwindcss/line-clamp'), ] - Example:
html
<p class="line-clamp-3"> This is a long text that will be truncated after 3 lines. </p>
Third-party plugins:
-
tailwindcss-animate: animation plugin
- Provides common animation classes
- Install: npm install -D tailwindcss-animate
- Usage:
javascript
plugins: [ require('tailwindcss-animate'), ] - Example:
html
<div class="animate-bounce">Bouncing element</div> <div class="animate-pulse">Pulsing element</div>
-
@tailwindcss/container-queries: container queries plugin
- Provides container query support
- Install: npm install -D @tailwindcss/container-queries
- Usage:
javascript
plugins: [ require('@tailwindcss/container-queries'), ]
Custom plugins:
- Create custom plugins
- Example:
javascript
// my-plugin.js const plugin = require('tailwindcss/plugin') module.exports = plugin(function({ addUtilities, theme }) { const newUtilities = { '.text-shadow': { textShadow: theme('textShadow'), }, } addUtilities(newUtilities) }, { theme: { textShadow: { sm: '2px 2px 4px rgba(0, 0, 0, 0.1)', DEFAULT: '4px 4px 8px rgba(0, 0, 0, 0.2)', lg: '8px 8px 16px rgba(0, 0, 0, 0.3)', }, }, }) - Use custom plugin:
javascript
// tailwind.config.js const myPlugin = require('./my-plugin') module.exports = { plugins: [ myPlugin, ], }
Plugin configuration:
- Pass configuration options to plugins
- Example:
javascript
plugins: [ require('@tailwindcss/forms')({ strategy: 'class', }), require('@tailwindcss/typography')({ className: 'prose', }), ]
Best practices:
- Only install plugins you need
- Use plugins reasonably, avoid over-dependence
- Consider creating custom plugins to meet specific needs
- Regularly update plugin versions
- Test plugin compatibility