Tailwindcss utilities for text stroke
npm install @designbycode/tailwindcss-mask-imagebash
pnpm add @designbycode/tailwindcss-mask-image
`
#### Using npm
`bash
npm install @designbycode/tailwindcss-mask-image
`
#### Using yarn
`bash
yarn add @designbycode/tailwindcss-mask-image
`
Usage
Once the plugin is installed, you can enable it in your Tailwind CSS configuration file. Usually, this file is named tailwind.config.js.
`javascript
module.exports = {
// ...other configurations
plugins: [
// ...other plugins
require("@designbycode/tailwindcss-mask-image"),
],
};
`
Utilities
The plugin generates several utility classes for applying image masks using CSS gradients. You can use these utility classes to easily apply masks to any element in your HTML.
Applying Image Masks
To make it work you only need to add the class of `.mask-image-{value}` to you html. The rest off the classes is just modifiers.
`html
`
You can apply image masks by using the following utility classes:
| Css class name | Description |
|:---------------|:----------------------------------------------|
| .mask-image-t | Applies a mask from top to bottom. |
| .mask-image-tr | Applies a mask from top left to bottom right. |
| .mask-image-tl | Applies a mask from top right to bottom left. |
| .mask-image-b | Applies a mask from bottom to top. |
| .mask-image-br | Applies a mask from bottom left to top right. |
| .mask-image-bl | Applies a mask from bottom right to top left. |
| .mask-image-r | Applies a mask from left to right. |
| .mask-image-l | Applies a mask from right to left. |
Default Values
The plugin sets some default CSS variables in the :root element, which define the default values for the color and direction of the image masks.
| Css Variable | Description |
|:---------------------------|:-----------------------------------------------|
| --mask-image-start-{value} | Default gradient starting point (default: 0%) |
| --mask-image-end-{value} | Default gradient ending point (default: 100%). |
Changing Gradient Starting and Ending Points
You can dynamically change the starting and ending points of the gradient using the following utility classes:
* `.mask-image-start-0` to `.mask-image-start-100`: Changes the --mask-image-start variable to the specified percentage value.
* `.mask-image-end-0 to` `.mask-image-end-100`: Changes the --mask-image-end variable to the specified percentage value.
`html
`
#### Available percentage values for --mask-image-start and --mask-image-end:
| Key | Value | Output |
|-----|:------:|:----------------------|
| 0 | "0%" | .mask-image-start-0 |
| 5 | "5%" | .mask-image-start-5 |
| 10 | "10%" | .mask-image-start-10 |
| 15 | "15%" | .mask-image-start-15 |
| 20 | "20%" | .mask-image-start-20 |
| 25 | "25%" | .mask-image-start-25 |
| 30 | "30%" | .mask-image-start-30 |
| 40 | "40%" | .mask-image-start-40 |
| 45 | "45%" | .mask-image-start-45 |
| 50 | "50%" | .mask-image-start-50 |
| 55 | "55%" | .mask-image-start-55 |
| 60 | "60%" | .mask-image-start-60 |
| 70 | "70%" | .mask-image-start-70 |
| 75 | "75%" | .mask-image-start-75 |
| 80 | "80%" | .mask-image-start-80 |
| 85 | "85%" | .mask-image-start-85 |
| 90 | "90%" | .mask-image-start-90 |
| 95 | "95%" | .mask-image-start-95 |
| 100 | "100%" | .mask-image-start-100 |
Configuration
The plugin allows you to customize the gradient steps and directions by modifying the theme object in your Tailwind CSS configuration file.
`javascript
// tailwind.config.js
module.exports = {
// ...other configurations
plugins: [
// ...other plugins
require("@designbycode/tailwindcss-mask-image"),
],
theme: {
imageMaskSteps: {
// Add your custom gradient steps here
0: "0%",
10: "10%",
25: "25%",
// ...
},
imageMaskDirections: {
// Add your custom mask directions here
t: "to top",
b: "to bottom",
// ...
},
},
};
`
Example
Here's an example of how you can use the utility classes to apply image masks:
`html
`
> Note
> New to v2.
> Start and end color opacity
$3
You can set the opacity for start and end color for more control over the mask.
`html
`
The arbitrary value have a range from 0 to 100 for even more control over the mask.
`html
``