Skip to content

Tailwind CSS - Hue Rotate

Modern Guide to Tailwind CSS: Hue Rotate Filter

Section titled “Modern Guide to Tailwind CSS: Hue Rotate Filter”

This guide covers the hue-rotate filter utility in Tailwind CSS. You’ll learn how to apply this effect to elements, especially images, to create dynamic and interesting visual treatments.

Hue rotation is a CSS filter that shifts all the colors in an element around the color wheel. The value is specified in degrees. For example, a 180deg rotation will map every color to its complementary color (e.g., red becomes cyan, green becomes magenta).

Tailwind provides several preset classes for common hue rotation values.

ClassCSS PropertiesEffect
hue-rotate-0filter: hue-rotate(0deg);No change. Resets the filter.
hue-rotate-15filter: hue-rotate(15deg);A subtle shift in hue.
hue-rotate-30filter: hue-rotate(30deg);A noticeable shift in hue.
hue-rotate-60filter: hue-rotate(60deg);A strong shift in hue.
hue-rotate-90filter: hue-rotate(90deg);Shifts colors by a quarter of the color wheel.
hue-rotate-180filter: hue-rotate(180deg);Inverts the colors to their complements.

Note: Tailwind also provides negative versions, like -hue-rotate-30, to shift hues in the opposite direction.

Interactive Example: Applying Hue Rotate to Images

Section titled “Interactive Example: Applying Hue Rotate to Images”

In this example, we apply different hue-rotate classes to a set of images. The first image has no filter, while the second has a static filter. The third image demonstrates a common real-world use case: applying the filter on hover for a dynamic effect.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tailwind Hue Rotate Example</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-slate-100 p-8">
<h1 class="text-3xl font-bold text-center mb-10">Hue Rotate Filter Demo</h1>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="text-center">
<h3 class="text-lg font-semibold mb-2">Original Image</h3>
<img src="https://placehold.co/400x300/f87171/ffffff?text=Original" alt="Original colorful placeholder" class="rounded-lg shadow-md w-full">
</div>
<div class="text-center">
<h3 class="text-lg font-semibold mb-2">Static: `hue-rotate-90`</h3>
<img src="https://placehold.co/400x300/f87171/ffffff?text=Static" alt="Hue-rotated placeholder" class="rounded-lg shadow-md w-full hue-rotate-90">
</div>
<div class="text-center">
<h3 class="text-lg font-semibold mb-2">Interactive: `hover:hue-rotate-180`</h3>
<img src="https://placehold.co/400x300/f87171/ffffff?text=Hover+Me" alt="Interactive hue-rotated placeholder" class="rounded-lg shadow-md w-full transition duration-500 hover:hue-rotate-180 cursor-pointer">
</div>
</div>
</body>
</html>
  • Combining Filters: hue-rotate can be combined with other filter utilities like saturate-*, brightness-*, and contrast-* for complex image effects. For example: hover:hue-rotate-60 hover:saturate-150.
  • Transitions: Always pair state-based filters (like on hover or group-hover) with transition and duration-* classes to ensure the effect animates smoothly rather than snapping instantly.
  • Arbitrary Values: If the preset values aren’t enough, Tailwind’s JIT compiler lets you use any degree you want with arbitrary value syntax, e.g., hue-rotate-[270deg].
  • Use Cases: This filter is great for photo galleries, product showcases where you want to show color variations without loading new images, or simply for adding a creative flair to user interface elements.

CSS filters are generally well-optimized by modern browsers and are hardware-accelerated. However, applying complex filters to very large elements or animating them continuously could have performance implications on older devices. As always, test on your target hardware.