Effects
Utilities for controlling an element's mask image.
Class | Styles |
---|---|
mask-[<value>] | mask-image: <value>; |
mask-(image:<custom-property>) | mask-image: var(<custom-property>); |
mask-none | mask-image: none; |
mask-linear-to-t | mask-image: linear-gradient(to top, var(--tw-mask-gradient-stops)); |
mask-linear-to-tr | mask-image: linear-gradient(to top right, var(--tw-mask-gradient-stops)); |
mask-linear-to-r | mask-image: linear-gradient(to right, var(--tw-mask-gradient-stops)); |
mask-linear-to-br | mask-image: linear-gradient(to bottom right, var(--tw-mask-gradient-stops)); |
mask-linear-to-b | mask-image: linear-gradient(to bottom, var(--tw-mask-gradient-stops)); |
mask-linear-to-bl | mask-image: linear-gradient(to bottom left, var(--tw-mask-gradient-stops)); |
mask-linear-to-l | mask-image: linear-gradient(to left, var(--tw-mask-gradient-stops)); |
mask-linear-to-tl | mask-image: linear-gradient(to top left, var(--tw-mask-gradient-stops)); |
mask-linear-<angle> | mask-image: linear-gradient(<angle> in oklab, var(--tw-mask-gradient-stops)); |
-mask-linear-<angle> | mask-image: linear-gradient(-<angle> in oklab, var(--tw-mask-gradient-stops)); |
mask-linear-(<custom-property>) | mask-image: linear-gradient(var(--tw-mask-gradient-stops, var(<custom-property>))); |
mask-linear-[<value>] | mask-image: linear-gradient(var(--tw-mask-gradient-stops, <value>)); |
mask-radial | mask-image: radial-gradient(in oklab, var(--tw-mask-gradient-stops)); |
mask-radial-(<custom-property>) | mask-image: radial-gradient(var(--tw-mask-gradient-stops, var(<custom-property>))); |
mask-radial-[<value>] | mask-image: radial-gradient(var(--tw-mask-gradient-stops, <value>)); |
mask-conic-<angle> | mask-image: conic-gradient(from <angle> in oklab, var(--tw-mask-gradient-stops)); |
-mask-conic-<angle> | mask-image: conic-gradient(from -<angle> in oklab, var(--tw-mask-gradient-stops)); |
mask-conic-(<custom-property>) | mask-image: var(<custom-property>); |
mask-conic-[<value>] | mask-image: <image>; |
mask-from-<color> | --tw-mask-gradient-from: <color>; |
mask-from-<percentage> | --tw-mask-gradient-from-position: <percentage>; |
mask-from-(<custom-property>) | --tw-mask-gradient-from: var(<custom-property>); |
mask-from-[<value>] | --tw-mask-gradient-from: <value>; |
mask-via-<color> | --tw-mask-gradient-via: <color>; |
mask-via-<percentage> | --tw-mask-gradient-via-position: <percentage>; |
mask-via-(<custom-property>) | --tw-mask-gradient-via: var(<custom-property>); |
mask-via-[<value>] | --tw-mask-gradient-via: <value>; |
mask-to-<color> | --tw-mask-gradient-to: <color>; |
mask-to-<percentage> | --tw-mask-gradient-to-position: <percentage>; |
mask-to-(<custom-property>) | --tw-mask-gradient-to: var(<custom-property>); |
mask-to-[<value>] | --tw-mask-gradient-to: <value>; |
Use the mask-[<value>]
syntax to set the mask image of an element:
<div class="bg-[url(/img/mountains.jpg)] mask-[url(/img/scribble.png)] ..."></div>
Use utilities like mask-linear-<angle>
and mask-linear-to-<value>
to add a linear gradient mask to an element:
Name | Title | |
---|---|---|
Jane Cooper | Regional Paradigm Technician | jane.cooper@example.com |
Cody Fisher | Product Directives Officer | cody.fisher@example.com |
Leonard Krasner | Senior Designer | leonard.krasner@example.com |
Emily Selman | VP, Hardware Engineering | emily.selman@example.com |
Anna Roberts | Chief Strategy Officer | anna.roberts@example.com |
<div class="relative"> <div class="absolute inset-x-0 bottom-8 z-10 flex items-center justify-center"> <button type="button" class="rounded-full bg-white px-4 py-2 text-sm font-semibold text-gray-900 dark:bg-gray-950 dark:text-white dark:ring-white/20 dark:hover:bg-gray-900 ..." > Show more </button> </div> <div class="max-h-96 mask-linear-180 mask-linear-from-70% ..."> <table> <!-- ... --> </table> </div></div>
By default, this creates a gradient from black to transparent. You can customize the gradient colors using utilities like mask-linear-from-<color>
and mask-linear-to-<color>
.
Use utilities like mask-b-from-<value>
and mask-t-to-<value>
as a short hand for adding a linear gradient mask to a single side of an element:
mask-t-from-50%
mask-t-to-90%
mask-r-from-50%
mask-r-to-90%
mask-b-from-50%
mask-b-to-90%
mask-l-from-50%
mask-l-to-90%
<div class="mask-t-from-50% mask-t-to-90% ..."></div><div class="mask-r-from-50% mask-r-to-90% ..."></div><div class="mask-b-from-50% mask-b-to-90% ..."></div><div class="mask-l-from-50% mask-l-to-90% ..."></div>
By default, this creates a gradient from black to transparent. You can customize the gradient colors using utilities like mask-b-from-<color>
and mask-l-to-<color>
.
You can combine multiple single side utilities to create more complex gradients:
<div class="mask-r-from-70% mask-l-from-80% mask-l-to-90% ..."></div>
Use utilities like mask-x-from-<value>
and mask-y-from-<value>
to create symmetrical linear gradients:
<div class="bg-[url(/img/mountains.jpg)] mask-x-from-70% mask-x-to-90% ..."></div>
This is just a shorthand for combining two single side gradients with the same stop values.
Use the mask-radial-from-<value>
and mask-radial-to-<value>
utilities to add a radial gradient mask to an element:
Speed
Built for power users
Work faster than ever with customizable keyboard shortcuts
<div class="flex items-center gap-4"> <img class="mask-radial-[100%_100%] mask-radial-from-75% mask-radial-at-left ..." src="/img/keyboard.png" /> <div class="font-medium"> <p className="font-mono text-xs text-blue-500 uppercase dark:text-blue-400">Speed</p> <p className="mt-2 text-base text-gray-700 dark:text-gray-300">Built for power users</p> <p className="mt-1 text-sm leading-relaxed text-balance text-gray-500"> Work faster than ever with customizable keyboard shortcuts </p> </div></div>
By default, this creates a gradient from black to transparent. You can customize the gradient colors using the mask-radial-from-<color>
and mask-radial-to-<color>
utilities.
Use utilities like mask-radial-at-bottom-left
and mask-radial-at-[35%_35%]
to set the position of the center of the radial gradient mask:
mask-radial-at-top-left
mask-radial-at-top
mask-radial-at-top-right
mask-radial-at-left
mask-radial-at-center
mask-radial-at-right
mask-radial-at-bottom-left
mask-radial-at-bottom
mask-radial-at-bottom-right
<div class="mask-radial-from-100% mask-radial-at-top-left ..."></div><div class="mask-radial-from-100% mask-radial-at-top ..."></div><div class="mask-radial-from-100% mask-radial-at-top-right ..."></div><div class="mask-radial-from-100% mask-radial-at-left ..."></div><div class="mask-radial-at-center mask-radial-from-100% ..."></div><div class="mask-radial-from-100% mask-radial-at-right ..."></div><div class="mask-radial-from-100% mask-radial-at-bottom-left ..."></div><div class="mask-radial-from-100% mask-radial-at-bottom ..."></div><div class="mask-radial-from-100% mask-radial-at-bottom-right ..."></div>
This is different from mask-position
which sets the position of the mask image itself, not the radial gradient.
Use utilities like mask-radial-closest-corner
and mask-radial-farthest-side
to set the size of the radial gradient mask:
mask-radial-closest-side
mask-radial-closest-corner
mask-radial-farthest-side
mask-radial-farthest-corner
<div class="mask-radial-from-100% mask-radial-closest-side mask-radial-at-[30%_30%] ..."></div><div class="mask-radial-from-100% mask-radial-closest-corner mask-radial-at-[30%_30%] ..."></div><div class="mask-radial-from-100% mask-radial-farthest-side mask-radial-at-[30%_30%] ..."></div><div class="mask-radial-from-100% mask-radial-farthest-corner mask-radial-at-[30%_30%] ..."></div>
When setting a custom radial gradient size, the units you can use depend on the <ending-shape>
of the gradient which is set to ellipse
by default.
With mask-circle
, you can only use a single fixed length, like mask-radial-[5rem]
. Whereas with mask-ellipse
, you can specify each axis as a fixed length or percentage, like mask-radial-[40%_80%]
.
Use the mask-conic
and mask-conic-<angle>
utilities with the mask color stop utilities to add a conic gradient mask to an element:
Storage used: 75%
0.48 GB out of 2 GB remaining
<div class="flex items-center gap-5 rounded-xl bg-white p-4 shadow-lg ring-1 ring-black/5 dark:bg-gray-800"> <div class="grid grid-cols-1 grid-rows-1"> <div class="border-4 border-gray-100 dark:border-gray-700 ..."></div> <div class="border-4 border-amber-500 mask-conic-from-75% mask-conic-to-75% dark:border-amber-400 ..."></div> </div> <div class="w-0 flex-1 text-sm text-gray-950 dark:text-white"> <p class="font-medium">Storage used: 75%</p> <p class="mt-1 text-gray-500 dark:text-gray-400"><span class="font-medium">0.48 GB</span> out of 2 GB remaining</p> </div></div>
Use the mask-none
utility to remove an existing mask image from an element:
<div class="mask-none"></div>
Use utilities like mask-linear-[<value>]
and mask-radial-[<value>]
to set the mask image based on a completely custom value:
<div class="mask-linear-[25deg,red_5%,yellow_60%,lime_90%,teal] ..."> <!-- ... --></div>
For CSS variables, you can also use the mask-linear-(<custom-property>)
syntax:
<div class="mask-linear-(--my-mask) ..."> <!-- ... --></div>
This is just a shorthand for mask-linear-[var(<custom-property>)]
that adds the var()
function for you automatically.
Prefix a mask-image
utility with a breakpoint variant like md:
to only apply the utility at medium screen sizes and above:
<div class="mask-radial-from-70% md:mask-radial-from-50% ..."> <!-- ... --></div>
Learn more about using variants in the variants documentation.
Use the --color-*
theme variables to customize the color utilities in your project:
@theme { --color-regal-blue: #243c5a; }
Now utilities like mask-radial-from-regal-blue
,mask-conic-to-regal-blue
, and mask-b-from-regal-blue
can be used in your markup:
<div class="mask-radial-from-regal-blue"> <!-- ... --></div>
Learn more about customizing your theme in the theme documentation.