TailwindCSS Plugin that adds variants of pseudo elements.
npm install tailwindcss-pseudo-elementsTailwindCSS Plug-in that adds variants of pseudo elements (::before, ::after, ::first-letter, etc.).
---
- Getting Started
- Install
- NPM
- Yarn
- Write the configuration for the plug-in
- Set the variants
- Write the HTML
- Content Property Utilities
- Empty Property Utility
- Options
- customPseudoClasses and customPseudoElements
- contentUtilities
- emptyContent
- classNameReplacer
- Recommended
- tailwindcss-aspect-ratio
---
#### NPM
``sh`
npm install tailwindcss-pseudo-elements --save-dev
#### Yarn
`sh`
yarn add tailwindcss-pseudo-elements -D
Pass the option object to the plug-in as follows:
`js`
module.exports = {
plugins: [
require('tailwindcss-pseudo-elements')({
customPseudoClasses: ['foo'],
customPseudoElements: ['bar'],
contentUtilities: false,
emptyContent: false,
classNameReplacer: {
'hover:before:text-black': 'hbt',
},
}),
],
}
Naming convention of the variants is like pseudo-class:pseudo-class::pseudo-element.
An example configuration is shown below.
`js`
module.exports = {
variants: {
extend: {
textColor: [
'responsive',
'hover',
'focus',
'before',
'after',
'hover::before',
'hover::after',
'focus::before',
'checked:hover',
'checked:hover::before',
],
},
},
}
`html
class="relative
before:aspect-ratio-4/3
hover:before:aspect-ratio-1/1
before:empty-content"
>
#### Content Property Utilities
There are utilities that set the attributes of HTML elements to the content property.
Mark it up as follows:
`html
class="content-before content-after content-hover-before"
tw-content-before="๐งก"
tw-content-hover-before="๐"
tw-content-after="๐๏ธ"
>
Tailwind CSS
`#### Empty Property Utility
There is a utility class that sets
{ content: "" } in the ::before.`html
`Options
$3
You can set up your own pseudo-classes and pseudo-elements.
type:
string[]
default: []$3
Configuration of the Content Property Utilities.
type:
boolean | { "prefix": string }
default: { "prefix": "tw-content" }$3
Whether to generate the Empty Property Utility.
type:
boolean
default: true$3
You can replace frequently used class names with different names.
type:
Record
default: {}Recommended
$3
`js
plugins: [
require('tailwindcss-pseudo-elements')(pseudoOptions),
require('tailwindcss-aspect-ratio')({
ratios: {
'16/9': [16, 9],
'4/3': [4, 3],
'3/2': [3, 2],
'1/1': [1, 1],
},
variants: ['before', 'hover::before', 'responsive'],
}),
],
}
``