Tailwind CSS Outline Color
Outline color in CSS allows you to set the color of an outline around elements such as buttons, divs, or input fields. Unlike borders, which are part of the box model and affect layout, outlines do not occupy space and exist outside of the element’s dimensions.
Tailwind CSS provides a rich collection of utilities to easily manage outline colors without writing custom CSS for each implementation. With its class-based approach, you can quickly apply, modify, or conditionally update outline color properties in your application.
| Class | Properties | Example |
|---|---|---|
outline-inherit | outline-color: inherit; | <div className="outline-inherit"></div> |
outline-current | outline-color: currentColor; | <div className="outline-current"></div> |
outline-transparent | outline-color: transparent; | <div className="outline-transparent"></div> |
outline-black | outline-color: #000; | <div className="outline-black"></div> |
outline-white | outline-color: #fff; | <div className="outline-white"></div> |
outline-slate-50 | outline-color: #f8fafc; | <div className="outline-slate-50"></div> |
outline-slate-100 | outline-color: #f1f5f9; | <div className="outline-slate-100"></div> |
outline-slate-200 | outline-color: #e2e8f0; | <div className="outline-slate-200"></div> |
outline-slate-300 | outline-color: #cbd5e1; | <div className="outline-slate-300"></div> |
outline-slate-400 | outline-color: #94a3b8; | <div className="outline-slate-400"></div> |
outline-slate-500 | outline-color: #64748b; | <div className="outline-slate-500"></div> |
outline-slate-600 | outline-color: #475569; | <div className="outline-slate-600"></div> |
outline-slate-700 | outline-color: #334155; | <div className="outline-slate-700"></div> |
outline-slate-800 | outline-color: #1e293b; | <div className="outline-slate-800"></div> |
outline-slate-900 | outline-color: #0f172a; | <div className="outline-slate-900"></div> |
outline-slate-950 | outline-color: #020617; | <div className="outline-slate-950"></div> |
outline-gray-50 | outline-color: #f9fafb; | <div className="outline-gray-50"></div> |
outline-gray-100 | outline-color: #f3f4f6; | <div className="outline-gray-100"></div> |
outline-gray-200 | outline-color: #e5e7eb; | <div className="outline-gray-200"></div> |
outline-gray-300 | outline-color: #d1d5db; | <div className="outline-gray-300"></div> |
outline-gray-400 | outline-color: #9ca3af; | <div className="outline-gray-400"></div> |
outline-gray-500 | outline-color: #6b7280; | <div className="outline-gray-500"></div> |
outline-gray-600 | outline-color: #4b5563; | <div className="outline-gray-600"></div> |
outline-gray-700 | outline-color: #374151; | <div className="outline-gray-700"></div> |
outline-gray-800 | outline-color: #1f2937; | <div className="outline-gray-800"></div> |
outline-gray-900 | outline-color: #111827; | <div className="outline-gray-900"></div> |
outline-gray-950 | outline-color: #030712; | <div className="outline-gray-950"></div> |
outline-zinc-50 | outline-color: #fafafa; | <div className="outline-zinc-50"></div> |
outline-zinc-100 | outline-color: #f4f4f5; | <div className="outline-zinc-100"></div> |
outline-zinc-200 | outline-color: #e4e4e7; | <div className="outline-zinc-200"></div> |
outline-zinc-300 | outline-color: #d4d4d8; | <div className="outline-zinc-300"></div> |
outline-zinc-400 | outline-color: #a1a1aa; | <div className="outline-zinc-400"></div> |
outline-zinc-500 | outline-color: #71717a; | <div className="outline-zinc-500"></div> |
outline-zinc-600 | outline-color: #52525b; | <div className="outline-zinc-600"></div> |
outline-zinc-700 | outline-color: #3f3f46; | <div className="outline-zinc-700"></div> |
outline-zinc-800 | outline-color: #27272a; | <div className="outline-zinc-800"></div> |
outline-zinc-900 | outline-color: #18181b; | <div className="outline-zinc-900"></div> |
outline-zinc-950 | outline-color: #09090b; | <div className="outline-zinc-950"></div> |
outline-neutral-50 | outline-color: #fafafa; | <div className="outline-neutral-50"></div> |
outline-neutral-100 | outline-color: #f5f5f5; | <div className="outline-neutral-100"></div> |
outline-neutral-200 | outline-color: #e5e5e5; | <div className="outline-neutral-200"></div> |
outline-neutral-300 | outline-color: #d4d4d4; | <div className="outline-neutral-300"></div> |
outline-neutral-400 | outline-color: #a3a3a3; | <div className="outline-neutral-400"></div> |
outline-neutral-500 | outline-color: #737373; | <div className="outline-neutral-500"></div> |
outline-neutral-600 | outline-color: #525252; | <div className="outline-neutral-600"></div> |
outline-neutral-700 | outline-color: #404040; | <div className="outline-neutral-700"></div> |
outline-neutral-800 | outline-color: #262626; | <div className="outline-neutral-800"></div> |
outline-neutral-900 | outline-color: #171717; | <div className="outline-neutral-900"></div> |
outline-neutral-950 | outline-color: #0a0a0a; | <div className="outline-neutral-950"></div> |
outline-stone-50 | outline-color: #fafaf9; | <div className="outline-stone-50"></div> |
outline-stone-100 | outline-color: #f5f5f4; | <div className="outline-stone-100"></div> |
outline-stone-200 | outline-color: #e7e5e4; | <div className="outline-stone-200"></div> |
outline-stone-300 | outline-color: #d6d3d1; | <div className="outline-stone-300"></div> |
outline-stone-400 | outline-color: #a8a29e; | <div className="outline-stone-400"></div> |
outline-stone-500 | outline-color: #78716c; | <div className="outline-stone-500"></div> |
outline-stone-600 | outline-color: #57534e; | <div className="outline-stone-600"></div> |
outline-stone-700 | outline-color: #44403c; | <div className="outline-stone-700"></div> |
outline-stone-800 | outline-color: #292524; | <div className="outline-stone-800"></div> |
outline-stone-900 | outline-color: #1c1917; | <div className="outline-stone-900"></div> |
outline-stone-950 | outline-color: #0c0a09; | <div className="outline-stone-950"></div> |
outline-red-50 | outline-color: #fef2f2; | <div className="outline-red-50"></div> |
outline-red-100 | outline-color: #fee2e2; | <div className="outline-red-100"></div> |
outline-red-200 | outline-color: #fecaca; | <div className="outline-red-200"></div> |
outline-red-300 | outline-color: #fca5a5; | <div className="outline-red-300"></div> |
outline-red-400 | outline-color: #f87171; | <div className="outline-red-400"></div> |
outline-red-500 | outline-color: #ef4444; | <div className="outline-red-500"></div> |
outline-red-600 | outline-color: #dc2626; | <div className="outline-red-600"></div> |
outline-red-700 | outline-color: #b91c1c; | <div className="outline-red-700"></div> |
outline-red-800 | outline-color: #991b1b; | <div className="outline-red-800"></div> |
outline-red-900 | outline-color: #7f1d1d; | <div className="outline-red-900"></div> |
outline-red-950 | outline-color: #450a0a; | <div className="outline-red-950"></div> |
outline-orange-50 | outline-color: #fff7ed; | <div className="outline-orange-50"></div> |
outline-orange-100 | outline-color: #ffedd5; | <div className="outline-orange-100"></div> |
outline-orange-200 | outline-color: #fed7aa; | <div className="outline-orange-200"></div> |
outline-orange-300 | outline-color: #fdba74; | <div className="outline-orange-300"></div> |
outline-orange-400 | outline-color: #fb923c; | <div className="outline-orange-400"></div> |
outline-orange-500 | outline-color: #f97316; | <div className="outline-orange-500"></div> |
outline-orange-600 | outline-color: #ea580c; | <div className="outline-orange-600"></div> |
outline-orange-700 | outline-color: #c2410c; | <div className="outline-orange-700"></div> |
outline-orange-800 | outline-color: #9a3412; | <div className="outline-orange-800"></div> |
outline-orange-900 | outline-color: #7c2d12; | <div className="outline-orange-900"></div> |
outline-orange-950 | outline-color: #431407; | <div className="outline-orange-950"></div> |
outline-amber-50 | outline-color: #fffbeb; | <div className="outline-amber-50"></div> |
outline-amber-100 | outline-color: #fef3c7; | <div className="outline-amber-100"></div> |
outline-amber-200 | outline-color: #fde68a; | <div className="outline-amber-200"></div> |
outline-amber-300 | outline-color: #fcd34d; | <div className="outline-amber-300"></div> |
outline-amber-400 | outline-color: #fbbf24; | <div className="outline-amber-400"></div> |
outline-amber-500 | outline-color: #f59e0b; | <div className="outline-amber-500"></div> |
outline-amber-600 | outline-color: #d97706; | <div className="outline-amber-600"></div> |
outline-amber-700 | outline-color: #b45309; | <div className="outline-amber-700"></div> |
outline-amber-800 | outline-color: #92400e; | <div className="outline-amber-800"></div> |
outline-amber-900 | outline-color: #78350f; | <div className="outline-amber-900"></div> |
outline-amber-950 | outline-color: #451a03; | <div className="outline-amber-950"></div> |
outline-yellow-50 | outline-color: #fefce8; | <div className="outline-yellow-50"></div> |
outline-yellow-100 | outline-color: #fef9c3; | <div className="outline-yellow-100"></div> |
outline-yellow-200 | outline-color: #fef08a; | <div className="outline-yellow-200"></div> |
outline-yellow-300 | outline-color: #fde047; | <div className="outline-yellow-300"></div> |
outline-yellow-400 | outline-color: #facc15; | <div className="outline-yellow-400"></div> |
outline-yellow-500 | outline-color: #eab308; | <div className="outline-yellow-500"></div> |
outline-yellow-600 | outline-color: #ca8a04; | <div className="outline-yellow-600"></div> |
outline-yellow-700 | outline-color: #a16207; | <div className="outline-yellow-700"></div> |
outline-yellow-800 | outline-color: #854d0e; | <div className="outline-yellow-800"></div> |
outline-yellow-900 | outline-color: #713f12; | <div className="outline-yellow-900"></div> |
outline-yellow-950 | outline-color: #422006; | <div className="outline-yellow-950"></div> |
outline-lime-50 | outline-color: #f7fee7; | <div className="outline-lime-50"></div> |
outline-lime-100 | outline-color: #ecfccb; | <div className="outline-lime-100"></div> |
outline-lime-200 | outline-color: #d9f99d; | <div className="outline-lime-200"></div> |
outline-lime-300 | outline-color: #bef264; | <div className="outline-lime-300"></div> |
outline-lime-400 | outline-color: #a3e635; | <div className="outline-lime-400"></div> |
outline-lime-500 | outline-color: #84cc16; | <div className="outline-lime-500"></div> |
outline-lime-600 | outline-color: #65a30d; | <div className="outline-lime-600"></div> |
outline-lime-700 | outline-color: #4d7c0f; | <div className="outline-lime-700"></div> |
outline-lime-800 | outline-color: #3f6212; | <div className="outline-lime-800"></div> |
outline-lime-900 | outline-color: #365314; | <div className="outline-lime-900"></div> |
outline-lime-950 | outline-color: #1a2e05; | <div className="outline-lime-950"></div> |
outline-green-50 | outline-color: #f0fdf4; | <div className="outline-green-50"></div> |
outline-green-100 | outline-color: #dcfce7; | <div className="outline-green-100"></div> |
outline-green-200 | outline-color: #bbf7d0; | <div className="outline-green-200"></div> |
outline-green-300 | outline-color: #86efac; | <div className="outline-green-300"></div> |
outline-green-400 | outline-color: #4ade80; | <div className="outline-green-400"></div> |
outline-green-500 | outline-color: #22c55e; | <div className="outline-green-500"></div> |
outline-green-600 | outline-color: #16a34a; | <div className="outline-green-600"></div> |
outline-green-700 | outline-color: #15803d; | <div className="outline-green-700"></div> |
outline-green-800 | outline-color: #166534; | <div className="outline-green-800"></div> |
outline-green-900 | outline-color: #14532d; | <div className="outline-green-900"></div> |
outline-green-950 | outline-color: #052e16; | <div className="outline-green-950"></div> |
outline-emerald-50 | outline-color: #ecfdf5; | <div className="outline-emerald-50"></div> |
outline-emerald-100 | outline-color: #d1fae5; | <div className="outline-emerald-100"></div> |
outline-emerald-200 | outline-color: #a7f3d0; | <div className="outline-emerald-200"></div> |
outline-emerald-300 | outline-color: #6ee7b7; | <div className="outline-emerald-300"></div> |
outline-emerald-400 | outline-color: #34d399; | <div className="outline-emerald-400"></div> |
outline-emerald-500 | outline-color: #10b981; | <div className="outline-emerald-500"></div> |
outline-emerald-600 | outline-color: #059669; | <div className="outline-emerald-600"></div> |
outline-emerald-700 | outline-color: #047857; | <div className="outline-emerald-700"></div> |
outline-emerald-800 | outline-color: #065f46; | <div className="outline-emerald-800"></div> |
outline-emerald-900 | outline-color: #064e3b; | <div className="outline-emerald-900"></div> |
outline-emerald-950 | outline-color: #022c22; | <div className="outline-emerald-950"></div> |
outline-teal-50 | outline-color: #f0fdfa; | <div className="outline-teal-50"></div> |
outline-teal-100 | outline-color: #ccfbf1; | <div className="outline-teal-100"></div> |
outline-teal-200 | outline-color: #99f6e4; | <div className="outline-teal-200"></div> |
outline-teal-300 | outline-color: #5eead4; | <div className="outline-teal-300"></div> |
outline-teal-400 | outline-color: #2dd4bf; | <div className="outline-teal-400"></div> |
outline-teal-500 | outline-color: #14b8a6; | <div className="outline-teal-500"></div> |
outline-teal-600 | outline-color: #0d9488; | <div className="outline-teal-600"></div> |
outline-teal-700 | outline-color: #0f766e; | <div className="outline-teal-700"></div> |
outline-teal-800 | outline-color: #115e59; | <div className="outline-teal-800"></div> |
outline-teal-900 | outline-color: #134e4a; | <div className="outline-teal-900"></div> |
outline-teal-950 | outline-color: #042f2e; | <div className="outline-teal-950"></div> |
outline-cyan-50 | outline-color: #ecfeff; | <div className="outline-cyan-50"></div> |
outline-cyan-100 | outline-color: #cffafe; | <div className="outline-cyan-100"></div> |
outline-cyan-200 | outline-color: #a5f3fc; | <div className="outline-cyan-200"></div> |
outline-cyan-300 | outline-color: #67e8f9; | <div className="outline-cyan-300"></div> |
outline-cyan-400 | outline-color: #22d3ee; | <div className="outline-cyan-400"></div> |
outline-cyan-500 | outline-color: #06b6d4; | <div className="outline-cyan-500"></div> |
outline-cyan-600 | outline-color: #0891b2; | <div className="outline-cyan-600"></div> |
outline-cyan-700 | outline-color: #0e7490; | <div className="outline-cyan-700"></div> |
outline-cyan-800 | outline-color: #155e75; | <div className="outline-cyan-800"></div> |
outline-cyan-900 | outline-color: #164e63; | <div className="outline-cyan-900"></div> |
outline-cyan-950 | outline-color: #083344; | <div className="outline-cyan-950"></div> |
outline-sky-50 | outline-color: #f0f9ff; | <div className="outline-sky-50"></div> |
outline-sky-100 | outline-color: #e0f2fe; | <div className="outline-sky-100"></div> |
outline-sky-200 | outline-color: #bae6fd; | <div className="outline-sky-200"></div> |
outline-sky-300 | outline-color: #7dd3fc; | <div className="outline-sky-300"></div> |
outline-sky-400 | outline-color: #38bdf8; | <div className="outline-sky-400"></div> |
outline-sky-500 | outline-color: #0ea5e9; | <div className="outline-sky-500"></div> |
outline-sky-600 | outline-color: #0284c7; | <div className="outline-sky-600"></div> |
outline-sky-700 | outline-color: #0369a1; | <div className="outline-sky-700"></div> |
outline-sky-800 | outline-color: #075985; | <div className="outline-sky-800"></div> |
outline-sky-900 | outline-color: #0c4a6e; | <div className="outline-sky-900"></div> |
outline-sky-950 | outline-color: #082f49; | <div className="outline-sky-950"></div> |
outline-blue-50 | outline-color: #eff6ff; | <div className="outline-blue-50"></div> |
outline-blue-100 | outline-color: #dbeafe; | <div className="outline-blue-100"></div> |
outline-blue-200 | outline-color: #bfdbfe; | <div className="outline-blue-200"></div> |
outline-blue-300 | outline-color: #93c5fd; | <div className="outline-blue-300"></div> |
outline-blue-400 | outline-color: #60a5fa; | <div className="outline-blue-400"></div> |
outline-blue-500 | outline-color: #3b82f6; | <div className="outline-blue-500"></div> |
outline-blue-600 | outline-color: #2563eb; | <div className="outline-blue-600"></div> |
outline-blue-700 | outline-color: #1d4ed8; | <div className="outline-blue-700"></div> |
outline-blue-800 | outline-color: #1e40af; | <div className="outline-blue-800"></div> |
outline-blue-900 | outline-color: #1e3a8a; | <div className="outline-blue-900"></div> |
outline-blue-950 | outline-color: #172554; | <div className="outline-blue-950"></div> |
outline-indigo-50 | outline-color: #eef2ff; | <div className="outline-indigo-50"></div> |
outline-indigo-100 | outline-color: #e0e7ff; | <div className="outline-indigo-100"></div> |
outline-indigo-200 | outline-color: #c7d2fe; | <div className="outline-indigo-200"></div> |
outline-indigo-300 | outline-color: #a5b4fc; | <div className="outline-indigo-300"></div> |
outline-indigo-400 | outline-color: #818cf8; | <div className="outline-indigo-400"></div> |
outline-indigo-500 | outline-color: #6366f1; | <div className="outline-indigo-500"></div> |
outline-indigo-600 | outline-color: #4f46e5; | <div className="outline-indigo-600"></div> |
outline-indigo-700 | outline-color: #4338ca; | <div className="outline-indigo-700"></div> |
outline-indigo-800 | outline-color: #3730a3; | <div className="outline-indigo-800"></div> |
outline-indigo-900 | outline-color: #312e81; | <div className="outline-indigo-900"></div> |
outline-indigo-950 | outline-color: #1e1b4b; | <div className="outline-indigo-950"></div> |
outline-violet-50 | outline-color: #f5f3ff; | <div className="outline-violet-50"></div> |
outline-violet-100 | outline-color: #ede9fe; | <div className="outline-violet-100"></div> |
outline-violet-200 | outline-color: #ddd6fe; | <div className="outline-violet-200"></div> |
outline-violet-300 | outline-color: #c4b5fd; | <div className="outline-violet-300"></div> |
outline-violet-400 | outline-color: #a78bfa; | <div className="outline-violet-400"></div> |
outline-violet-500 | outline-color: #8b5cf6; | <div className="outline-violet-500"></div> |
outline-violet-600 | outline-color: #7c3aed; | <div className="outline-violet-600"></div> |
outline-violet-700 | outline-color: #6d28d9; | <div className="outline-violet-700"></div> |
outline-violet-800 | outline-color: #5b21b6; | <div className="outline-violet-800"></div> |
outline-violet-900 | outline-color: #4c1d95; | <div className="outline-violet-900"></div> |
outline-violet-950 | outline-color: #2e1065; | <div className="outline-violet-950"></div> |
outline-purple-50 | outline-color: #faf5ff; | <div className="outline-purple-50"></div> |
outline-purple-100 | outline-color: #f3e8ff; | <div className="outline-purple-100"></div> |
outline-purple-200 | outline-color: #e9d5ff; | <div className="outline-purple-200"></div> |
outline-purple-300 | outline-color: #d8b4fe; | <div className="outline-purple-300"></div> |
outline-purple-400 | outline-color: #c084fc; | <div className="outline-purple-400"></div> |
outline-purple-500 | outline-color: #a855f7; | <div className="outline-purple-500"></div> |
outline-purple-600 | outline-color: #9333ea; | <div className="outline-purple-600"></div> |
outline-purple-700 | outline-color: #7e22ce; | <div className="outline-purple-700"></div> |
outline-purple-800 | outline-color: #6b21a8; | <div className="outline-purple-800"></div> |
outline-purple-900 | outline-color: #581c87; | <div className="outline-purple-900"></div> |
outline-purple-950 | outline-color: #3b0764; | <div className="outline-purple-950"></div> |
outline-fuchsia-50 | outline-color: #fdf4ff; | <div className="outline-fuchsia-50"></div> |
outline-fuchsia-100 | outline-color: #fae8ff; | <div className="outline-fuchsia-100"></div> |
outline-fuchsia-200 | outline-color: #f5d0fe; | <div className="outline-fuchsia-200"></div> |
outline-fuchsia-300 | outline-color: #f0abfc; | <div className="outline-fuchsia-300"></div> |
outline-fuchsia-400 | outline-color: #e879f9; | <div className="outline-fuchsia-400"></div> |
outline-fuchsia-500 | outline-color: #d946ef; | <div className="outline-fuchsia-500"></div> |
outline-fuchsia-600 | outline-color: #c026d3; | <div className="outline-fuchsia-600"></div> |
outline-fuchsia-700 | outline-color: #a21caf; | <div className="outline-fuchsia-700"></div> |
outline-fuchsia-800 | outline-color: #86198f; | <div className="outline-fuchsia-800"></div> |
outline-fuchsia-900 | outline-color: #701a75; | <div className="outline-fuchsia-900"></div> |
outline-fuchsia-950 | outline-color: #4a044e; | <div className="outline-fuchsia-950"></div> |
outline-pink-50 | outline-color: #fdf2f8; | <div className="outline-pink-50"></div> |
outline-pink-100 | outline-color: #fce7f3; | <div className="outline-pink-100"></div> |
outline-pink-200 | outline-color: #fbcfe8; | <div className="outline-pink-200"></div> |
outline-pink-300 | outline-color: #f9a8d4; | <div className="outline-pink-300"></div> |
outline-pink-400 | outline-color: #f472b6; | <div className="outline-pink-400"></div> |
outline-pink-500 | outline-color: #ec4899; | <div className="outline-pink-500"></div> |
outline-pink-600 | outline-color: #db2777; | <div className="outline-pink-600"></div> |
outline-pink-700 | outline-color: #be185d; | <div className="outline-pink-700"></div> |
outline-pink-800 | outline-color: #9d174d; | <div className="outline-pink-800"></div> |
outline-pink-900 | outline-color: #831843; | <div className="outline-pink-900"></div> |
outline-pink-950 | outline-color: #500724; | <div className="outline-pink-950"></div> |
outline-rose-50 | outline-color: #fff1f2; | <div className="outline-rose-50"></div> |
outline-rose-100 | outline-color: #ffe4e6; | <div className="outline-rose-100"></div> |
outline-rose-200 | outline-color: #fecdd3; | <div className="outline-rose-200"></div> |
outline-rose-300 | outline-color: #fda4af; | <div className="outline-rose-300"></div> |
outline-rose-400 | outline-color: #fb7185; | <div className="outline-rose-400"></div> |
outline-rose-500 | outline-color: #f43f5e; | <div className="outline-rose-500"></div> |
outline-rose-600 | outline-color: #e11d48; | <div className="outline-rose-600"></div> |
outline-rose-700 | outline-color: #be123c; | <div className="outline-rose-700"></div> |
outline-rose-800 | outline-color: #9f1239; | <div className="outline-rose-800"></div> |
outline-rose-900 | outline-color: #881337; | <div className="outline-rose-900"></div> |
outline-rose-950 | outline-color: #4c0519; | <div className="outline-rose-950"></div> |
Overview of Outline Color
Adding the Outline Color
To add an outline color, use outline-color-value utilities, e.g., outline-rose-900.
export default function App() { return <h1>Hello world</h1> }
Adjusting with Opacity
You can control the opacity of the outline color using Tailwind’s opacity modifiers. To use it, append the opacity to the outline color utility, e.g., outline-rose-900/50.
export default function App() { return <h1>Hello world</h1> }
States and Responsiveness
Hover and Focus States
Tailwind utilities shine when applying styles conditionally, especially during state transitions like hover or focus. The hover and focus modifiers enable developers to define outline colors dynamically.
export default function App() { return <h1>Hello world</h1> }
Breakpoint Modifiers
You can also use Tailwind’s responsive design modifiers to implement outline colors with media queries. This allows the outline color to dynamically adapt based on screen sizes.
export default function App() { return <h1>Hello world</h1> }
Custom Outline Color
Extending the Theme
While Tailwind’s default palette is extensive, there are times when you require a custom outline color. By extending your Tailwind configuration file, you can add custom colors. Once added, use these custom colors as follows:
export default function App() { return <h1>Hello world</h1> }
Using Arbitrary Values
For absolute flexibility, Tailwind supports arbitrary values. This feature allows you to specify a custom outline color without defining it in the configuration:
export default function App() { return <h1>Hello world</h1> }
Real World Examples
Product Card Grid with Focus Outlines
This example shows a grid of product cards with custom outline colors on focus for accessibility.
export default function App() { return <h1>Hello world</h1> }
Navigation Menu with Active State Outlines
This example demonstrates a navigation menu with outline colors indicating active states.
export default function App() { return <h1>Hello world</h1> }
Form Input Fields with Validation Outlines
This example shows form inputs with different outline colors based on validation states.
export default function App() { return <h1>Hello world</h1> }
Team Member Cards with Interactive Outlines
This example displays team member cards with interactive outline effects.
export default function App() { return <h1>Hello world</h1> }
Feature Cards with Hover Outlines
This example shows feature cards with outline colors on hover.
export default function App() { return <h1>Hello world</h1> }
Customization Examples
Custom Outline Color for Interactive Form Elements
This example demonstrates how to create a custom outline color scheme for form elements with enhanced focus states.
export default function App() { return <h1>Hello world</h1> }
Interactive Card with Custom Outline Hover Effect
This example shows how to implement a custom outline color for interactive cards with hover states.
export default function App() { return <h1>Hello world</h1> }
Event Schedule Timeline with Progress Outline
This example demonstrates how to implement a custom outline color for interactive cards with focus states.
export default function App() { return <h1>Hello world</h1> }
Best Practices
Maintain Design Consistency
Consistency is crucial in creating professional interfaces. To achieve uniformity using Tailwind CSS outline color utilities, ensure that all outline styles, such as thickness (outline-*), colors (outline-color-*), and opacity levels (outline-opacity-*), align with your brand guidelines and project color palette.
For instance, if your project utilizes a specific blue for primary actions, ensure all focus states and hover outlines mirror this shade for consistency. By standardizing utilities, designers can avoid style fragmentation and improve the understandability of components across teams.
Leverage Utility Combinations
When working with Outline Color, consider pairing it with complementary utilities such as outline-offset, outline-width, and rounded to create polished and visually appealing UI components. For example, using outline-red-500, outline-offset-2, and rounded-md together can create a prominent focus state for form inputs that feels modern and accessible.
Use state modifiers to enhance interactivity. For example, you can use hover:outline-blue-600 or focus:outline-green-500 to change the outline color dynamically based on user actions. This adds depth to your interface and improves usability by providing clear feedback to users.
Accessibility Considerations
Enhance Readability and Navigability
Outline colors can significantly impact how easily users can read and navigate content. By applying a distinct outline to critical interactive elements, you help users quickly identify which parts of the page are actionable.
This visual indicator is especially important for individuals who rely on clear, differentiated states to move through an interface. In addition, consider how the outline color contrasts with the background or text. Dark outlines on dark backgrounds can reduce visibility, so lighter or more contrasting shades might be necessary.
Effective outlines should align with established accessibility guidelines, which emphasize clarity and a consistent user experience.
Ensure Keyboard Accessibility
Keyboard accessibility ensures that users who navigate primarily via keyboard can move through an interface with ease. Applying an outline color to focused elements is one of the most straightforward ways to make keyboard navigation clear.
When users press the Tab key to jump between interactive components—such as links, buttons, or form fields—a distinct outline color highlights their current position.
Check the below example to know how outline color can be used with the focus modifier to build keyboard-interactive UIs:
export default function App() { return <h1>Hello world</h1> }
Debugging Common Issues
Resolve Common Problems
Issues such as outline not appearing at the expected offset, or failing to show up altogether often arise. The key to addressing these issues lies in a systematic troubleshooting approach.
First, confirm that the element in question is truly focusable or interactive. If an outline is supposed to show on focus, but the element can’t receive focus in the DOM (e.g., a div without a tabindex), no outline will appear. Add an appropriate attribute or change the element to a button or link if it’s meant to be interactive.
Second, check for conflicting classes. For example, if multiple border utilities are applied (like border-2 border-blue-500 alongside an outline class), the combined effect could appear jarring or overshadow the outline.
Third, verify that your color classes are spelled correctly. Typos in utility classes—like outlne-blue-500 instead of outline-blue-500 can be deceptively easy to miss.
Systematically removing these small mistakes from your code can save hours of debugging frustration.
Isolate Utility Conflicts
Tailwind CSS is powerful, but with so many utility classes at your disposal, it’s possible to inadvertently introduce conflicts.
For example, you might apply both outline-gray-500 and outline-blue-500 to the same element, or combine an outline with a ring utility like ring-red-500, creating unexpected visual outcomes. Identifying and resolving these conflicts is crucial for maintaining a clean and predictable design system.
Begin by systematically reviewing each utility class attached to the problematic element. If two or more classes compete—for example, both set the outline color—you’ll need to decide which is the intended style. Remove any redundant or extraneous classes.