Lesson 10 of 11Article14 min
Tailwind + React Patterns
Tailwind + React Patterns
clsx / tailwind-merge for dynamic classes
Conditional class names
import { clsx } from "clsx";
import { twMerge } from "tailwind-merge";
function cn(...inputs) {
return twMerge(clsx(inputs));
}
function Badge({ active, children }) {
return (
<span className={cn(
"rounded-full px-3 py-1 text-xs font-medium",
active
? "bg-cyan-100 text-cyan-700"
: "bg-slate-100 text-slate-600"
)}>
{children}
</span>
);
}Rishtaara-style patterns
- Glass cards: bg-white/10 backdrop-blur border border-white/20.
- Gradient text: bg-gradient-to-r from-cyan-400 to-violet-400 bg-clip-text text-transparent.
- Sticky sidebar: sticky top-24.
- Ad slots: aspect ratios with aspect-video, aspect-[728/90].