Gradients Plugin for Tailwind CSS
Installation
npm install tailwindcss-gradients
Usage
Simple
{
theme: {
colors: {
'red': '#f00',
'blue': '#00f',
},
linearGradientColors: theme => theme('colors'),
radialGradientColors: theme => theme('colors'),
conicGradientColors: theme => theme('colors'),
},
plugins: [
require('tailwindcss-gradients'),
],
}
Advanced
module.exports = {
theme: {
linearGradientDirections: {
't': 'to top',
'tr': 'to top right',
'r': 'to right',
'br': 'to bottom right',
'b': 'to bottom',
'bl': 'to bottom left',
'l': 'to left',
'tl': 'to top left',
},
linearGradientColors: {
'red': '#f00',
'red-blue': ['#f00', '#00f'],
'red-green-blue': ['#f00', '#0f0', '#00f'],
'black-white-with-stops': ['#000', '#000 45%', '#fff 55%', '#fff'],
},
radialGradientShapes: {
'default': 'ellipse',
},
radialGradientSizes: {
'default': 'closest-side',
},
radialGradientPositions: {
'default': 'center',
't': 'top',
'tr': 'top right',
'r': 'right',
'br': 'bottom right',
'b': 'bottom',
'bl': 'bottom left',
'l': 'left',
'tl': 'top left',
},
radialGradientColors: {
'red': '#f00',
'red-blue': ['#f00', '#00f'],
'red-green-blue': ['#f00', '#0f0', '#00f'],
'black-white-with-stops': ['#000', '#000 45%', '#fff 55%', '#fff'],
},
conicGradientStartingAngles: {
'default': '0',
},
conicGradientPositions: {
'default': 'center',
't': 'top',
'tr': 'top right',
'r': 'right',
'br': 'bottom right',
'b': 'bottom',
'bl': 'bottom left',
'l': 'left',
'tl': 'top left',
},
conicGradientColors: {
'red': '#f00',
'red-blue': ['#f00', '#00f'],
'red-green-blue': ['#f00', '#0f0', '#00f'],
'checkerboard': ['white 90deg', 'black 90deg 180deg', 'white 180deg 270deg', 'black 270deg'],
},
repeatingLinearGradientDirections: theme => theme('linearGradientDirections'),
repeatingLinearGradientColors: theme('linearGradientColors'),
repeatingLinearGradientLengths: {
'sm': '25px',
'md': '50px',
'lg': '100px',
},
repeatingRadialGradientShapes: theme => theme('radialGradientShapes'),
repeatingRadialGradientSizes: {
'default': 'farthest-corner',
},
repeatingRadialGradientPositions: theme => theme('radialGradientPositions'),
repeatingRadialGradientColors: theme('radialGradientColors'),
repeatingRadialGradientLengths: {
'sm': '25px',
'md': '50px',
'lg': '100px',
},
repeatingConicGradientStartingAngles: theme => theme('conicGradientStartingAngles'),
repeatingConicGradientPositions: theme => theme('conicGradientPositions'),
repeatingConicGradientColors: {
'red': '#f00',
'red-blue': ['#f00', '#00f'],
'red-green-blue': ['#f00', '#0f0', '#00f'],
'starburst': ['white 0 5deg', 'blue 5deg'],
},
repeatingConicGradientLengths: {
'sm': '10deg',
'md': '20deg',
'lg': '40deg',
},
},
variants: {
backgroundImage: ['responsive'],
linearGradients: ['responsive'],
radialGradients: ['responsive'],
conicGradients: ['responsive'],
repeatingLinearGradients: ['responsive'],
repeatingRadialGradients: ['responsive'],
repeatingConicGradients: ['responsive'],
},
plugins: [
require('tailwindcss-gradients'),
],
};
This plugin generates the following utilities:
.bg-none {
background-image: none;
}
.bg-gradient-[direction-key]-[color-key] {
background-image: linear-gradient([direction-value], [color-value-1], [color-value-2], [...]);
}
.bg-radial-[shape-key]-[size-key]-[position-key]-[color-key] {
background-image: radial-gradient([shape-value] [size-value] at [position-value], [color-value-1], [color-value-2], [...]);
}
.bg-conic-[starting-angle-key]-[position-key]-[color-key] {
background-image: conic-gradient(from [starting-angle-value] at [position-value], [color-value-1], [color-value-2], [...]);
}
.bg-gradient-[direction-key]-[color-key]-[length-key] {
background-image: repeating-linear-gradient([direction-value], [color-value-1], [color-value-2], [...] [length-value]);
}
.bg-radial-[shape-key]-[size-key]-[position-key]-[color-key]-[length-key] {
background-image: repeating-radial-gradient([shape-value] [size-value] at [position-value], [color-value-1], [color-value-2], [...] [length-value]);
}
.bg-conic-[starting-angle-key]-[position-key]-[color-key]-[length-key] {
background-image: repeating-conic-gradient(from [starting-angle-value] at [position-value], [color-value-1], [color-value-2], [...] [length-value]);
}