The Tailwind CSS Text Shadow Plugin extends the default set of utility classes in Tailwind CSS to provide easy text shadow customization for your web projects. With this plugin, you can apply custom text shadows using utility classes or define your own text shadow variations based on predefined steps and color palettes.
To use this plugin, you need to have Tailwind CSS installed in your project. If you haven't installed Tailwind CSS yet, follow these steps:
pnpm add @designbycode/tailwindcss-text-shadow
npm install @designbycode/tailwindcss-text-shadow
yarn add @designbycode/tailwindcss-text-shadow
- Add the Plugin to your Tailwind CSS Config In your tailwind.config.js file, add the plugin to the plugins array:
module.exports = {
// ...other configurations
plugins: [
// ...other plugins
require("@designbycode/tailwindcss-text-shadow"),
],
}
- If the default styles do not suit your preferences, you can effortlessly customize them using the following configuration options
module.exports = {
// ...other configurations
require("@designbycode/tailwindcss-text-shadow"
)
({
shadowColor: "rgba(0, 0, 0, 0.5)",
shadowBlur: "3px",
shadowOffsetX: "2px",
shadowOffsetY: "2px",
})
See plugin in action in video below. 👇
Once the plugin is added to your Tailwind CSS configuration, you can use the provided utility classes to apply text shadows to your HTML elements.
<h1 class="text-4xl text-shadow ">Hello, Tailwind CSS!</h1>
To make the spread or blur bigger add the .text-shadow-blur-{value}
<h1 class="text-4xl text-shadow text-shadow-blur-2 ">Hello, Tailwind CSS!</h1>
The shadow can be moved on the xy axis using .text-shadow-x-{value}
and .text-shadow-y-{value}
<h1 class="text-4xl text-shadow text-shadow-x-md text-shadow-y-lg text-shadow-blur-2 text-shadow-red">Hello, Tailwind CSS!</h1>
<h1 class="text-4xl text-shadow text-shadow-x-md text-shadow-y-lg text-shadow-blur-2 text-shadow-red-500">Hello, Tailwind CSS!</h1>
In the example above, the <h1>
element will have a red text shadow with an x offset of 3px, a y offset of 4px, and a blur radius of 2px. The text-shadow class enables the text shadow styles, while the text-shadow-x-md,
text-shadow-y-lg, and
text-shadow-blur-2 classes customize the horizontal offset, vertical offset, and blur radius, respectively.
To change the opacity of the text-shadow-color use the following method
<h1 class="text-shadow text-shadow-red-500/10">Hello, Tailwind CSS!</h1>
<!-- with arbitrary values -->
<h1 class="text-shadow text-shadow-red-[rgb(0,0,0,0.5)]">Hello, Tailwind CSS!</h1>
<!-- or arbitrary with / -->
<h1 class="text-shadow text-shadow-red-[gray]/20">Hello, Tailwind CSS!</h1>
Warning New experimental long shadow feature
module.exports = {
// ...other configurations
require("@designbycode/tailwindcss-text-shadow"
)
({
experimental: true, // 👈
})
Note the latest version doesn't need experimental anymore
The long shadow is a new experimental feature that I add. It creates shadow that stacks to any amount. The classes is .text-shadow-sm
or .text-shadow-[steps]
<h1 class="text-shadow-sm text-shadow-blur-2 text-shadow-red">Hello, Tailwind CSS!</h1>
<!-- or -->
<h1 class="text-shadow-[1000]">Hello, Tailwind CSS!</h1>
You can customize the available text shadow options by modifying the theme.textShadowSteps property in your tailwind.config.js file. The steps defined in this object will be used to generate utility classes for each aspect of the text shadow.
// tailwind.config.js
module.exports = {
theme: {
prefix: 'text-shadow',
textShadowSteps: {
sm: "1px",
md: "2px",
lg: "3px",
xl: "4px",
0: "0",
1: "1px",
2: "2px",
3: "3px",
4: "4px",
},
},
}
In this example, we have customized the textShadowSteps object with only four steps for sm, md, lg, and xl, and removed the rest. The plugin will generate utility classes accordingly.
If you don't like to use class name .text-shadow
or are getting conflicts in application you can change it to whatever you want like .textShadow
, ts
or whatever you want. Change it in theme settings.
// tailwind.config.js
module.exports = {
theme: {
prefix: 'ts',
},
}
<div class="ts-lg ts-indigo-500"></div>
Contributions to this plugin are welcome! If you encounter any issues, have feature requests, or want to improve the plugin, feel free to create a pull request or submit an issue on the GitHub repository.
This project is licensed under the MIT License - see the LICENSE file for details.
- Github: @designbycode
- Npm: @designbycode_
- This plugin is inspired by the needs of web developers using Tailwind CSS.
- Special thanks to the Tailwind CSS team for creating such an amazing framework.