- Published on
How to Add a Clip Path to an Image in Tailwind CSS
- Authors
- Name
- Ripal & Zalak
How to Add a Clip Path to an Image in Tailwind CSS
If you're working with Tailwind CSS and Next.js, you might wonder how to apply a clip-path
to an image or a div for creative design effects. Since Tailwind CSS doesn’t provide built-in utilities for clip-path
, you'll need to add custom styles. Let's explore different ways to achieve this.
@layer utilities
Solution 1: Using Tailwind's The best way to add clip-path
while using Tailwind CSS is by defining a custom utility class inside your global CSS file (e.g., globals.css
or index.css
).
Step 1: Define the Utility in CSS
Add the following code inside your global CSS file where your Tailwind directives are present:
@layer utilities {
.clip-custom-shape {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 6vw));
}
}
Step 2: Use the Custom Class in JSX
Now, you can use this utility class inside your component:
<div className="clip-custom-shape bg-white">
<img src="/your-image.jpg" alt="Clipped Image" className="h-auto w-full" />
</div>
Solution 2: Using Tailwind's Arbitrary Properties
Another method is to use Tailwind’s arbitrary properties directly inside the JSX file. This method avoids modifying the global CSS.
<div className="bg-white [clip-path:polygon(0_0,100%_0,100%_100%,0_calc(100%-6vw))]">
<img src="/your-image.jpg" alt="Clipped Image" className="h-auto w-full" />
</div>
✅ This approach is quick and does not require modifying global CSS.
⚠️ However, it can make your JSX harder to read and maintain.
@apply
for Reusability
Solution 3: Using Tailwind's If you need to reuse this class multiple times, you can create a reusable class with Tailwind's @apply
directive.
Step 1: Define the Class in CSS
@layer components {
.clip-custom {
@apply [clip-path:polygon(0_0,100%_0,100%_100%,0_calc(100%-6vw))];
}
}
Step 2: Use It in Your JSX
<div className="clip-custom bg-gray-200">
<img src="/your-image.jpg" alt="Clipped Image" className="h-auto w-full" />
</div>
This method keeps your JSX cleaner and improves reusability.
Frequently Asked Questions (FAQs)
clip-path
directly in Tailwind?
1. Can I use No, Tailwind does not provide built-in utilities for clip-path
, but you can use arbitrary properties or custom utilities to apply clip-path
.
2. Will this method work in Next.js?
Yes! These methods work perfectly in Next.js because Tailwind CSS is framework-agnostic.
clip-path
for responsive designs?
3. Can I use Yes, you can make clip-path
responsive by combining it with Tailwind’s responsive prefixes (e.g., md:[clip-path:polygon(...)]
).