mcpField
T
tailwindcss-effects

tailwindcss-effects

github.com/fusengineDesign & UI3453 installsUpdated 2w ago
Repository

About tailwindcss-effects

tailwindcss-effects is a reference skill for visual-effect utilities in Tailwind CSS v4.3. It covers shadows, opacity, filters, backdrop filters, masks, combined patterns, configuration, and browser support.

Key features

  1. 01Box and inset shadow utilities
  2. 02Opacity and CSS filter utilities
  3. 03Backdrop filters for frosted-glass effects
  4. 04Mask image, position, size, and repeat
  5. 05Responsive and dark-mode patterns
  6. 06Custom effects and browser-support notes

Use cases

  1. 01Style cards with shadows and opacity
  2. 02Create frosted-glass interfaces with backdrop filters
  3. 03Apply masks and combined effects to images or elements
  4. 04Check effect support across browsers

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fusengine/agents --skill tailwindcss-effects

After installing, type/tailwindcss-effectsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
filters.md
opacity.md
shadows.md

Details

From the project README
Complete reference for Tailwind CSS v4.3 visual-effects utilities: box shadows (`shadow-*`, custom shadow colors, the new `inset-shadow-*`), `opacity-*`, CSS filters (blur/brightness/contrast/grayscale/sepia/hue-rotate/invert/saturate), backdrop filters (`backdrop-blur-*`, `backdrop-brightness-*`, etc. — for glassmorphism/frosted-glass effects), and the new `mask-*` utilities (image, position, size, repeat).

Includes combined-effect patterns (blur+brightness, backdrop blur+brightness for frosted glass), responsive/dark-mode variants, custom @theme/@utility extension, and browser-support notes per effect category.

Tailwind CSS v4.3 Effects

Effects utilities to add shadows, filters, masks and visual effects to elements.

Box Shadow

Shadows Standard
<!-- Preset shadows -->
<div class="shadow-none">No shadow</div>
<div class="shadow-xs">Extra small shadow</div>
<div class="shadow-sm">Small shadow</div>
<div class="shadow">Base shadow</div>
<div class="shadow-md">Medium shadow</div>
<div class="shadow-lg">Large shadow</div>
<div class="shadow-xl">Extra large shadow</div>
<div class="shadow-2xl">2XL shadow</div>
Shadow Color (since v3.0)
<!-- Custom shadow colors -->
<div class="shadow-sm shadow-red-500">Red tinted shadow</div>
<div class="shadow shadow-blue-400">Blue tinted shadow</div>
<div class="shadow-lg shadow-purple-500/50">Purple shadow with opacity</div>
Inset Shadow (since v4.0)
<!-- Inner shadows (scale: 2xs, xs, sm) -->
<div class="inset-shadow-2xs">Inset 2xs shadow</div>
<div class="inset-shadow-xs">Inset xs shadow</div>
<div class="inset-shadow-sm">Inset small shadow</div>
<div class="inset-shadow-sm inset-shadow-blue-500">Inset shadow with color</div>
Arbitrary Shadow Values
<div class="shadow-[0_4px_12px_rgba(0,0,0,0.3)]">Custom shadow</div>
<div class="shadow-[inset_0_1px_3px_0_rgba(0,0,0,0.1)]">Custom inset</div>

Opacity

Opacity Utilities
<!-- Opacity scale 0-100% -->
<div class="opacity-0">Fully transparent</div>
<div class="opacity-25">25% opacity</div>
<div class="opacity-50">50% opacity</div>
<div class="opacity-75">75% opacity</div>
<div class="opacity-100">Fully opaque</div>
Opacity with Colors
<!-- Shorthand opacity in color values -->
<div class="bg-red-500/50">Red with 50% opacity</div>
<div class="text-blue-600/75">Text with 75% opacity</div>
<div class="border-gray-400/25">Border with 25% opacity</div>
<div class="shadow-lg shadow-black/30">Shadow with 30% opacity</div>

Filters

Blur
<div class="blur-none">No blur</div>
<div class="blur-sm">Small blur (4px)</div>
<div class="blur">Base blur (12px)</div>
<div class="blur-md">Medium blur (16px)</div>
<div class="blur-lg">Large blur (24px)</div>
<div class="blur-xl">Extra large blur (40px)</div>
<div class="blur-2xl">2XL blur (64px)</div>

<!-- Arbitrary -->
<div class="blur-[8px]">Custom blur 8px</div>
Brightness
<div class="brightness-50">Darken to 50%</div>
<div class="brightness-75">Darken to 75%</div>
<div class="brightness-100">Normal (100%)</div>
<div class="brightness-125">Brighten to 125%</div>
<div class="brightness-150">Brighten to 150%</div>
<div class="brightness-200">Brighten to 200%</div>
Contrast
<div class="contrast-50">Reduce contrast 50%</div>
<div class="contrast-75">Reduce contrast 75%</div>
<div class="contrast-100">Normal contrast (100%)</div>
<div class="contrast-125">Increase contrast 125%</div>
<div class="contrast-150">Increase contrast 150%</div>
<div class="contrast-200">Increase contrast 200%</div>
Grayscale
<div class="grayscale-0">No grayscale</div>
<div class="grayscale">Full grayscale (100%)</div>

<!-- Arbitrary -->
<div class="grayscale-[50%]">50% grayscale</div>
Sepia
<div class="sepia-0">No sepia</div>
<div class="sepia">Full sepia (100%)</div>

<!-- Arbitrary -->
<div class="sepia-[75%]">75% sepia</div>
Hue Rotate
<div class="hue-rotate-0">No rotation</div>
<div class="hue-rotate-15">15 degree rotation</div>
<div class="hue-rotate-30">30 degree rotation</div>
<div class="hue-rotate-60">60 degree rotation</div>
<div class="hue-rotate-90">90 degree rotation</div>
<div class="hue-rotate-180">180 degree rotation</div>

<!-- Arbitrary -->
<div class="hue-rotate-[120deg]">Custom rotation</div>
Invert
<div class="invert-0">No invert</div>
<div class="invert">Full invert (100%)</div>

<!-- Arbitrary -->
<div class="invert-[50%]">50% invert</div>
Saturate
<div class="saturate-50">Desaturate to 50%</div>
<div class="saturate-100">Normal saturation (100%)</div>
<div class="saturate-150">Increase saturation 150%</div>
<div class="saturate-200">Increase saturation 200%</div>

Backdrop Filters

Applies filters to the backdrop (element behind).

Backdrop Blur
<div class="backdrop-blur-none">No blur</div>
<div class="backdrop-blur-sm">Small blur (4px)</div>
<div class="backdrop-blur">Base blur (12px)</div>
<div class="backdrop-blur-md">Medium blur (16px)</div>
<div class="backdrop-blur-lg">Large blur (24px)</div>
<div class="backdrop-blur-xl">Extra large blur (40px)</div>
Backdrop Brightness
<div class="backdrop-brightness-50">Darken backdrop 50%</div>
<div class="backdrop-brightness-75">Darken backdrop 75%</div>
<div class="backdrop-brightness-100">Normal (100%)</div>
<div class="backdrop-brightness-125">Brighten backdrop 125%</div>
<div class="backdrop-brightness-150">Brighten backdrop 150%</div>
Backdrop Contrast
<div class="backdrop-contrast-50">Reduce backdrop contrast 50%</div>
<div class="backdrop-contrast-100">Normal (100%)</div>
<div class="backdrop-contrast-150">Increase backdrop contrast 150%</div>
Backdrop Grayscale
<div class="backdrop-grayscale-0">No grayscale</div>
<div class="backdrop-grayscale">Full grayscale (100%)</div>
Backdrop Invert
<div class="backdrop-invert-0">No invert</div>
<div class="backdrop-invert">Full invert (100%)</div>
Backdrop Saturate
<div class="backdrop-saturate-50">Desaturate backdrop 50%</div>
<div class="backdrop-saturate-100">Normal (100%)</div>
<div class="backdrop-saturate-150">Increase backdrop saturation 150%</div>
</div>
Backdrop Sepia
<div class="backdrop-sepia-0">No sepia</div>
<div class="backdrop-sepia">Full sepia (100%)</div>

Mask (since v4.1)

Mask Image
<!-- No mask -->
<div class="mask-none">No mask applied</div>

<!-- Edge (linear) masks: one side, or x/y for two sides -->
<div class="mask-b-from-20% mask-b-to-80%">Fade out at the bottom</div>
<div class="mask-x-from-70% mask-x-to-90%">Fade both horizontal edges</div>

<!-- Angled linear mask -->
<div class="mask-linear-50 mask-linear-from-60% mask-linear-to-80%">Angled mask</div>

<!-- Radial mask -->
<div class="mask-radial-from-75% mask-radial-at-left">Radial mask</div>

<!-- Custom mask image -->
<div class="mask-[url(/images/mask.svg)]">Custom mask</div>
Mask Position
<div class="mask-[url(/img/circle.png)] mask-center">Center mask</div>
<div class="mask-[url(/img/circle.png)] mask-top">Top mask</div>
<div class="mask-[url(/img/circle.png)] mask-bottom">Bottom mask</div>
<div class="mask-[url(/img/circle.png)] mask-left">Left mask</div>
<div class="mask-[url(/img/circle.png)] mask-right">Right mask</div>

<!-- Arbitrary -->
<div class="mask-position-[center_top_1rem]">Custom position</div>
Mask Size
<div class="mask-[url(/img/scribble.png)] mask-contain">Contain mask</div>
<div class="mask-[url(/img/scribble.png)] mask-cover">Cover mask</div>
<div class="mask-[url(/img/scribble.png)] mask-auto">Auto mask size</div>

<!-- Arbitrary -->
<div class="mask-size-[200%_100%]">Custom size</div>
Mask Repeat
<div class="mask-[url(/img/circle.png)] mask-repeat">Repeat mask</div>
<div class="mask-[url(/img/circle.png)] mask-repeat-x">Repeat horizontally</div>
<div class="mask-[url(/img/circle.png)] mask-repeat-y">Repeat vertically</div>
<div class="mask-[url(/img/circle.png)] mask-no-repeat">No repeat</div>

Combined Effects

Blur + Brightness
<div class="blur-md brightness-75">
  Blurred and darkened
</div>
Shadow + Opacity
<div class="shadow-lg shadow-blue-500/50 opacity-90">
  Shadow with tint and opacity
</div>
Backdrop Blur + Brightness
<div class="backdrop-blur-md backdrop-brightness-90">
  Frosted glass effect
</div>
Inset Shadow + Grayscale
<div class="inset-shadow-sm inset-shadow-black/20 grayscale-50">
  Pressed effect with grayscale
</div>

Responsive Effects

<!-- Mobile: small blur, Tablet: medium blur, Desktop: large blur -->
<div class="blur-sm md:blur-md lg:blur-lg">
  Responsive blur
</div>

<!-- Mobile: light opacity, Desktop: darker -->
<div class="opacity-75 md:opacity-50">
  Responsive opacity
</div>

<!-- Backdrop blur on medium+ screens -->
<div class="md:backdrop-blur-lg">
  Frosted glass on desktop
</div>

Dark Mode

<!-- Shadow color changes in dark mode -->
<div class="shadow-md shadow-black/25 dark:shadow-black/50">
  Darker shadow in dark mode
</div>

<!-- Opacity adjustments -->
<div class="opacity-70 dark:opacity-60">
  More visible in dark mode
</div>

<!-- Different blur in dark mode -->
<div class="blur-sm dark:blur-none">
  Less blur in dark mode
</div>

Configuration (v4.3)

CSS Theme Variables
@import "tailwindcss";

@theme {
  --color-shadow: #000;
  --blur-custom: 20px;
}
Custom Effects
@utility glass-effect {
  @apply backdrop-blur-md backdrop-brightness-90 opacity-90;
}

@utility glow {
  box-shadow: 0 0 20px var(--color-cyan-500);
}

Real-world Examples

Modal with frosted backdrop
<div class="fixed inset-0 backdrop-blur-sm backdrop-brightness-75">
  <!-- Modal content -->
</div>
Card with elevated shadow
<div class="rounded-lg bg-white p-6 shadow-lg shadow-blue-500/10">
  Card with subtle colored shadow
</div>
Image with fade-out mask
<div class="mask-b-from-50%">
  <img src="image.jpg" alt="Fading image" />
</div>
Glassmorphism component
<div class="backdrop-blur-md bg-white/30 rounded-lg border border-white/20">
  Glass effect container
</div>

Browser Support

  • Shadows: All modern browsers
  • Filters: Chrome 18+, Firefox 35+, Safari 6+
  • Backdrop filters: Chrome 76+, Safari 9+, Firefox 103+
  • Masks: Chrome 1+, Safari 4+, Firefox 53+
  • Opacity: All modern browsers

Performance Tips

  1. Use backdrop-blur sparingly - heavy performance impact
  2. Prefer opacity for transparency over rgba colors
  3. Use inset-shadow instead of multiple box-shadows for layering
  4. Combine related effects in custom utilities to reduce class count
  5. Test backdrop effects on low-end devices

References

Comments

Markdown supported