Tailwind CSS Ring Color
Ring Colors are used to give colors to the outline rings. Tailwind CSS provides a comprehensive range of utilities to manage ring properties seamlessly. This includes utilities to control ring colors, opacity, states, and even customize values to suit your project requirements. With ring color utilities in Tailwind, you can ensure consistent and aesthetic designs while improving accessibility.
| Class | Properties | Example |
|---|---|---|
ring-inherit | --tw-ring-color: inherit; | <div className="ring-inherit"></div> |
ring-current | --tw-ring-color: currentColor; | <div className="ring-current"></div> |
ring-transparent | --tw-ring-color: transparent; | <div className="ring-transparent"></div> |
ring-black | --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1)); | <div className="ring-black"></div> |
ring-white | --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1)); | <div className="ring-white"></div> |
ring-slate-50 | --tw-ring-color: rgb(248 250 252 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-50"></div> |
ring-slate-100 | --tw-ring-color: rgb(241 245 249 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-100"></div> |
ring-slate-200 | --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-200"></div> |
ring-slate-300 | --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-300"></div> |
ring-slate-400 | --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-400"></div> |
ring-slate-500 | --tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-500"></div> |
ring-slate-600 | --tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-600"></div> |
ring-slate-700 | --tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-700"></div> |
ring-slate-800 | --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-800"></div> |
ring-slate-900 | --tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-900"></div> |
ring-slate-950 | --tw-ring-color: rgb(2 6 23 / var(--tw-ring-opacity, 1)); | <div className="ring-slate-950"></div> |
ring-gray-50 | --tw-ring-color: rgb(249 250 251 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-50"></div> |
ring-gray-100 | --tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-100"></div> |
ring-gray-200 | --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-200"></div> |
ring-gray-300 | --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-300"></div> |
ring-gray-400 | --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-400"></div> |
ring-gray-500 | --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-500"></div> |
ring-gray-600 | --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-600"></div> |
ring-gray-700 | --tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-700"></div> |
ring-gray-800 | --tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-800"></div> |
ring-gray-900 | --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-900"></div> |
ring-gray-950 | --tw-ring-color: rgb(3 7 18 / var(--tw-ring-opacity, 1)); | <div className="ring-gray-950"></div> |
ring-zinc-50 | --tw-ring-color: rgb(250 250 250 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-50"></div> |
ring-zinc-100 | --tw-ring-color: rgb(244 244 245 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-100"></div> |
ring-zinc-200 | --tw-ring-color: rgb(228 228 231 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-200"></div> |
ring-zinc-300 | --tw-ring-color: rgb(212 212 216 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-300"></div> |
ring-zinc-400 | --tw-ring-color: rgb(161 161 170 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-400"></div> |
ring-zinc-500 | --tw-ring-color: rgb(113 113 122 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-500"></div> |
ring-zinc-600 | --tw-ring-color: rgb(82 82 91 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-600"></div> |
ring-zinc-700 | --tw-ring-color: rgb(63 63 70 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-700"></div> |
ring-zinc-800 | --tw-ring-color: rgb(39 39 42 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-800"></div> |
ring-zinc-900 | --tw-ring-color: rgb(24 24 27 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-900"></div> |
ring-zinc-950 | --tw-ring-color: rgb(9 9 11 / var(--tw-ring-opacity, 1)); | <div className="ring-zinc-950"></div> |
ring-neutral-50 | --tw-ring-color: rgb(250 250 250 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-50"></div> |
ring-neutral-100 | --tw-ring-color: rgb(245 245 245 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-100"></div> |
ring-neutral-200 | --tw-ring-color: rgb(229 229 229 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-200"></div> |
ring-neutral-300 | --tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-300"></div> |
ring-neutral-400 | --tw-ring-color: rgb(163 163 163 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-400"></div> |
ring-neutral-500 | --tw-ring-color: rgb(115 115 115 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-500"></div> |
ring-neutral-600 | --tw-ring-color: rgb(82 82 82 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-600"></div> |
ring-neutral-700 | --tw-ring-color: rgb(64 64 64 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-700"></div> |
ring-neutral-800 | --tw-ring-color: rgb(38 38 38 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-800"></div> |
ring-neutral-900 | --tw-ring-color: rgb(23 23 23 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-900"></div> |
ring-neutral-950 | --tw-ring-color: rgb(10 10 10 / var(--tw-ring-opacity, 1)); | <div className="ring-neutral-950"></div> |
ring-stone-50 | --tw-ring-color: rgb(250 250 249 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-50"></div> |
ring-stone-100 | --tw-ring-color: rgb(245 245 244 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-100"></div> |
ring-stone-200 | --tw-ring-color: rgb(231 229 228 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-200"></div> |
ring-stone-300 | --tw-ring-color: rgb(214 211 209 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-300"></div> |
ring-stone-400 | --tw-ring-color: rgb(168 162 158 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-400"></div> |
ring-stone-500 | --tw-ring-color: rgb(120 113 108 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-500"></div> |
ring-stone-600 | --tw-ring-color: rgb(87 83 78 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-600"></div> |
ring-stone-700 | --tw-ring-color: rgb(68 64 60 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-700"></div> |
ring-stone-800 | --tw-ring-color: rgb(41 37 36 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-800"></div> |
ring-stone-900 | --tw-ring-color: rgb(28 25 23 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-900"></div> |
ring-stone-950 | --tw-ring-color: rgb(12 10 9 / var(--tw-ring-opacity, 1)); | <div className="ring-stone-950"></div> |
ring-red-50 | --tw-ring-color: rgb(254 242 242 / var(--tw-ring-opacity, 1)); | <div className="ring-red-50"></div> |
ring-red-100 | --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1)); | <div className="ring-red-100"></div> |
ring-red-200 | --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1)); | <div className="ring-red-200"></div> |
ring-red-300 | --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1)); | <div className="ring-red-300"></div> |
ring-red-400 | --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1)); | <div className="ring-red-400"></div> |
ring-red-500 | --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1)); | <div className="ring-red-500"></div> |
ring-red-600 | --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1)); | <div className="ring-red-600"></div> |
ring-red-700 | --tw-ring-color: rgb(185 28 28 / var(--tw-ring-opacity, 1)); | <div className="ring-red-700"></div> |
ring-red-800 | --tw-ring-color: rgb(153 27 27 / var(--tw-ring-opacity, 1)); | <div className="ring-red-800"></div> |
ring-red-900 | --tw-ring-color: rgb(127 29 29 / var(--tw-ring-opacity, 1)); | <div className="ring-red-900"></div> |
ring-red-950 | --tw-ring-color: rgb(69 10 10 / var(--tw-ring-opacity, 1)); | <div className="ring-red-950"></div> |
ring-orange-50 | --tw-ring-color: rgb(255 247 237 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-50"></div> |
ring-orange-100 | --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-100"></div> |
ring-orange-200 | --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-200"></div> |
ring-orange-300 | --tw-ring-color: rgb(253 186 116 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-300"></div> |
ring-orange-400 | --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-400"></div> |
ring-orange-500 | --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-500"></div> |
ring-orange-600 | --tw-ring-color: rgb(234 88 12 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-600"></div> |
ring-orange-700 | --tw-ring-color: rgb(194 65 12 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-700"></div> |
ring-orange-800 | --tw-ring-color: rgb(154 52 18 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-800"></div> |
ring-orange-900 | --tw-ring-color: rgb(124 45 18 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-900"></div> |
ring-orange-950 | --tw-ring-color: rgb(67 20 7 / var(--tw-ring-opacity, 1)); | <div className="ring-orange-950"></div> |
ring-amber-50 | --tw-ring-color: rgb(255 251 235 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-50"></div> |
ring-amber-100 | --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-100"></div> |
ring-amber-200 | --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-200"></div> |
ring-amber-300 | --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-300"></div> |
ring-amber-400 | --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-400"></div> |
ring-amber-500 | --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-500"></div> |
ring-amber-600 | --tw-ring-color: rgb(217 119 6 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-600"></div> |
ring-amber-700 | --tw-ring-color: rgb(180 83 9 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-700"></div> |
ring-amber-800 | --tw-ring-color: rgb(146 64 14 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-800"></div> |
ring-amber-900 | --tw-ring-color: rgb(120 53 15 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-900"></div> |
ring-amber-950 | --tw-ring-color: rgb(69 26 3 / var(--tw-ring-opacity, 1)); | <div className="ring-amber-950"></div> |
ring-yellow-50 | --tw-ring-color: rgb(254 252 232 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-50"></div> |
ring-yellow-100 | --tw-ring-color: rgb(254 249 195 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-100"></div> |
ring-yellow-200 | --tw-ring-color: rgb(254 240 138 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-200"></div> |
ring-yellow-300 | --tw-ring-color: rgb(253 224 71 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-300"></div> |
ring-yellow-400 | --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-400"></div> |
ring-yellow-500 | --tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-500"></div> |
ring-yellow-600 | --tw-ring-color: rgb(202 138 4 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-600"></div> |
ring-yellow-700 | --tw-ring-color: rgb(161 98 7 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-700"></div> |
ring-yellow-800 | --tw-ring-color: rgb(133 77 14 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-800"></div> |
ring-yellow-900 | --tw-ring-color: rgb(113 63 18 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-900"></div> |
ring-yellow-950 | --tw-ring-color: rgb(66 32 6 / var(--tw-ring-opacity, 1)); | <div className="ring-yellow-950"></div> |
ring-lime-50 | --tw-ring-color: rgb(247 254 231 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-50"></div> |
ring-lime-100 | --tw-ring-color: rgb(236 252 203 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-100"></div> |
ring-lime-200 | --tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-200"></div> |
ring-lime-300 | --tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-300"></div> |
ring-lime-400 | --tw-ring-color: rgb(163 230 53 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-400"></div> |
ring-lime-500 | --tw-ring-color: rgb(132 204 22 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-500"></div> |
ring-lime-600 | --tw-ring-color: rgb(101 163 13 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-600"></div> |
ring-lime-700 | --tw-ring-color: rgb(77 124 15 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-700"></div> |
ring-lime-800 | --tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-800"></div> |
ring-lime-900 | --tw-ring-color: rgb(54 83 20 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-900"></div> |
ring-lime-950 | --tw-ring-color: rgb(26 46 5 / var(--tw-ring-opacity, 1)); | <div className="ring-lime-950"></div> |
ring-green-50 | --tw-ring-color: rgb(240 253 244 / var(--tw-ring-opacity, 1)); | <div className="ring-green-50"></div> |
ring-green-100 | --tw-ring-color: rgb(220 252 231 / var(--tw-ring-opacity, 1)); | <div className="ring-green-100"></div> |
ring-green-200 | --tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity, 1)); | <div className="ring-green-200"></div> |
ring-green-300 | --tw-ring-color: rgb(134 239 172 / var(--tw-ring-opacity, 1)); | <div className="ring-green-300"></div> |
ring-green-400 | --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1)); | <div className="ring-green-400"></div> |
ring-green-500 | --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1)); | <div className="ring-green-500"></div> |
ring-green-600 | --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1)); | <div className="ring-green-600"></div> |
ring-green-700 | --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1)); | <div className="ring-green-700"></div> |
ring-green-800 | --tw-ring-color: rgb(22 101 52 / var(--tw-ring-opacity, 1)); | <div className="ring-green-800"></div> |
ring-green-900 | --tw-ring-color: rgb(20 83 45 / var(--tw-ring-opacity, 1)); | <div className="ring-green-900"></div> |
ring-green-950 | --tw-ring-color: rgb(5 46 22 / var(--tw-ring-opacity, 1)); | <div className="ring-green-950"></div> |
ring-emerald-50 | --tw-ring-color: rgb(236 253 245 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-50"></div> |
ring-emerald-100 | --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-100"></div> |
ring-emerald-200 | --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-200"></div> |
ring-emerald-300 | --tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-300"></div> |
ring-emerald-400 | --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-400"></div> |
ring-emerald-500 | --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-500"></div> |
ring-emerald-600 | --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-600"></div> |
ring-emerald-700 | --tw-ring-color: rgb(4 120 87 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-700"></div> |
ring-emerald-800 | --tw-ring-color: rgb(6 95 70 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-800"></div> |
ring-emerald-900 | --tw-ring-color: rgb(6 78 59 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-900"></div> |
ring-emerald-950 | --tw-ring-color: rgb(2 44 34 / var(--tw-ring-opacity, 1)); | <div className="ring-emerald-950"></div> |
ring-teal-50 | --tw-ring-color: rgb(240 253 250 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-50"></div> |
ring-teal-100 | --tw-ring-color: rgb(204 251 241 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-100"></div> |
ring-teal-200 | --tw-ring-color: rgb(153 246 228 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-200"></div> |
ring-teal-300 | --tw-ring-color: rgb(94 234 212 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-300"></div> |
ring-teal-400 | --tw-ring-color: rgb(45 212 191 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-400"></div> |
ring-teal-500 | --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-500"></div> |
ring-teal-600 | --tw-ring-color: rgb(13 148 136 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-600"></div> |
ring-teal-700 | --tw-ring-color: rgb(15 118 110 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-700"></div> |
ring-teal-800 | --tw-ring-color: rgb(17 94 89 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-800"></div> |
ring-teal-900 | --tw-ring-color: rgb(19 78 74 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-900"></div> |
ring-teal-950 | --tw-ring-color: rgb(4 47 46 / var(--tw-ring-opacity, 1)); | <div className="ring-teal-950"></div> |
ring-cyan-50 | --tw-ring-color: rgb(236 254 255 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-50"></div> |
ring-cyan-100 | --tw-ring-color: rgb(207 250 254 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-100"></div> |
ring-cyan-200 | --tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-200"></div> |
ring-cyan-300 | --tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-300"></div> |
ring-cyan-400 | --tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-400"></div> |
ring-cyan-500 | --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-500"></div> |
ring-cyan-600 | --tw-ring-color: rgb(8 145 178 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-600"></div> |
ring-cyan-700 | --tw-ring-color: rgb(14 116 144 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-700"></div> |
ring-cyan-800 | --tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-800"></div> |
ring-cyan-900 | --tw-ring-color: rgb(22 78 99 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-900"></div> |
ring-cyan-950 | --tw-ring-color: rgb(8 51 68 / var(--tw-ring-opacity, 1)); | <div className="ring-cyan-950"></div> |
ring-sky-50 | --tw-ring-color: rgb(240 249 255 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-50"></div> |
ring-sky-100 | --tw-ring-color: rgb(224 242 254 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-100"></div> |
ring-sky-200 | --tw-ring-color: rgb(186 230 253 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-200"></div> |
ring-sky-300 | --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-300"></div> |
ring-sky-400 | --tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-400"></div> |
ring-sky-500 | --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-500"></div> |
ring-sky-600 | --tw-ring-color: rgb(2 132 199 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-600"></div> |
ring-sky-700 | --tw-ring-color: rgb(3 105 161 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-700"></div> |
ring-sky-800 | --tw-ring-color: rgb(7 89 133 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-800"></div> |
ring-sky-900 | --tw-ring-color: rgb(12 74 110 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-900"></div> |
ring-sky-950 | --tw-ring-color: rgb(8 47 73 / var(--tw-ring-opacity, 1)); | <div className="ring-sky-950"></div> |
ring-blue-50 | --tw-ring-color: rgb(239 246 255 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-50"></div> |
ring-blue-100 | --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-100"></div> |
ring-blue-200 | --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-200"></div> |
ring-blue-300 | --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-300"></div> |
ring-blue-400 | --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-400"></div> |
ring-blue-500 | --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-500"></div> |
ring-blue-600 | --tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-600"></div> |
ring-blue-700 | --tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-700"></div> |
ring-blue-800 | --tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-800"></div> |
ring-blue-900 | --tw-ring-color: rgb(30 58 138 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-900"></div> |
ring-blue-950 | --tw-ring-color: rgb(23 37 84 / var(--tw-ring-opacity, 1)); | <div className="ring-blue-950"></div> |
ring-indigo-50 | --tw-ring-color: rgb(238 242 255 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-50"></div> |
ring-indigo-100 | --tw-ring-color: rgb(224 231 255 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-100"></div> |
ring-indigo-200 | --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-200"></div> |
ring-indigo-300 | --tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-300"></div> |
ring-indigo-400 | --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-400"></div> |
ring-indigo-500 | --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-500"></div> |
ring-indigo-600 | --tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-600"></div> |
ring-indigo-700 | --tw-ring-color: rgb(67 56 202 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-700"></div> |
ring-indigo-800 | --tw-ring-color: rgb(55 48 163 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-800"></div> |
ring-indigo-900 | --tw-ring-color: rgb(49 46 129 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-900"></div> |
ring-indigo-950 | --tw-ring-color: rgb(30 27 75 / var(--tw-ring-opacity, 1)); | <div className="ring-indigo-950"></div> |
ring-violet-50 | --tw-ring-color: rgb(245 243 255 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-50"></div> |
ring-violet-100 | --tw-ring-color: rgb(237 233 254 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-100"></div> |
ring-violet-200 | --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-200"></div> |
ring-violet-300 | --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-300"></div> |
ring-violet-400 | --tw-ring-color: rgb(167 139 250 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-400"></div> |
ring-violet-500 | --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-500"></div> |
ring-violet-600 | --tw-ring-color: rgb(124 58 237 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-600"></div> |
ring-violet-700 | --tw-ring-color: rgb(109 40 217 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-700"></div> |
ring-violet-800 | --tw-ring-color: rgb(91 33 182 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-800"></div> |
ring-violet-900 | --tw-ring-color: rgb(76 29 149 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-900"></div> |
ring-violet-950 | --tw-ring-color: rgb(46 16 101 / var(--tw-ring-opacity, 1)); | <div className="ring-violet-950"></div> |
ring-purple-50 | --tw-ring-color: rgb(250 245 255 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-50"></div> |
ring-purple-100 | --tw-ring-color: rgb(243 232 255 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-100"></div> |
ring-purple-200 | --tw-ring-color: rgb(233 213 255 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-200"></div> |
ring-purple-300 | --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-300"></div> |
ring-purple-400 | --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-400"></div> |
ring-purple-500 | --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-500"></div> |
ring-purple-600 | --tw-ring-color: rgb(147 51 234 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-600"></div> |
ring-purple-700 | --tw-ring-color: rgb(126 34 206 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-700"></div> |
ring-purple-800 | --tw-ring-color: rgb(107 33 168 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-800"></div> |
ring-purple-900 | --tw-ring-color: rgb(88 28 135 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-900"></div> |
ring-purple-950 | --tw-ring-color: rgb(59 7 100 / var(--tw-ring-opacity, 1)); | <div className="ring-purple-950"></div> |
ring-fuchsia-50 | --tw-ring-color: rgb(253 244 255 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-50"></div> |
ring-fuchsia-100 | --tw-ring-color: rgb(250 232 255 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-100"></div> |
ring-fuchsia-200 | --tw-ring-color: rgb(245 208 254 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-200"></div> |
ring-fuchsia-300 | --tw-ring-color: rgb(240 171 252 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-300"></div> |
ring-fuchsia-400 | --tw-ring-color: rgb(232 121 249 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-400"></div> |
ring-fuchsia-500 | --tw-ring-color: rgb(217 70 239 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-500"></div> |
ring-fuchsia-600 | --tw-ring-color: rgb(192 38 211 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-600"></div> |
ring-fuchsia-700 | --tw-ring-color: rgb(162 28 175 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-700"></div> |
ring-fuchsia-800 | --tw-ring-color: rgb(134 25 143 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-800"></div> |
ring-fuchsia-900 | --tw-ring-color: rgb(112 26 117 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-900"></div> |
ring-fuchsia-950 | --tw-ring-color: rgb(74 4 78 / var(--tw-ring-opacity, 1)); | <div className="ring-fuchsia-950"></div> |
ring-pink-50 | --tw-ring-color: rgb(253 242 248 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-50"></div> |
ring-pink-100 | --tw-ring-color: rgb(252 231 243 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-100"></div> |
ring-pink-200 | --tw-ring-color: rgb(251 207 232 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-200"></div> |
ring-pink-300 | --tw-ring-color: rgb(249 168 212 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-300"></div> |
ring-pink-400 | --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-400"></div> |
ring-pink-500 | --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-500"></div> |
ring-pink-600 | --tw-ring-color: rgb(219 39 119 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-600"></div> |
ring-pink-700 | --tw-ring-color: rgb(190 24 93 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-700"></div> |
ring-pink-800 | --tw-ring-color: rgb(157 23 77 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-800"></div> |
ring-pink-900 | --tw-ring-color: rgb(131 24 67 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-900"></div> |
ring-pink-950 | --tw-ring-color: rgb(80 7 36 / var(--tw-ring-opacity, 1)); | <div className="ring-pink-950"></div> |
ring-rose-50 | --tw-ring-color: rgb(255 241 242 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-50"></div> |
ring-rose-100 | --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-100"></div> |
ring-rose-200 | --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-200"></div> |
ring-rose-300 | --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-300"></div> |
ring-rose-400 | --tw-ring-color: rgb(251 113 133 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-400"></div> |
ring-rose-500 | --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-500"></div> |
ring-rose-600 | --tw-ring-color: rgb(225 29 72 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-600"></div> |
ring-rose-700 | --tw-ring-color: rgb(190 18 60 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-700"></div> |
ring-rose-800 | --tw-ring-color: rgb(159 18 57 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-800"></div> |
ring-rose-900 | --tw-ring-color: rgb(136 19 55 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-900"></div> |
ring-rose-950 | --tw-ring-color: rgb(76 5 25 / var(--tw-ring-opacity, 1)); | <div className="ring-rose-950"></div> |
Overview of Ring Color
Adding the Ring Color
To assign a ring color to your focused element, use the ring-* utilities classes provided by Tailwind. By default, the ring color inherits from your theme's color palette.
export default function App() { return <h1>Hello world</h1> }
The ring-4 sets the width of the ring, and ring-blue-400 applies the blue ring color.
Adjusting the Opacity
Sometimes the rings can appear overly strong. Tailwind allows you to adjust the ring's opacity for a subtler presentation using utilities such as ring-color/value.
export default function App() { return <h1>Hello world</h1> }
focus:ring-green-500sets the ring color to green.focus:ring-opacity-50reduces the ring's opacity to 50%, creating a more subdued effect.
States and Responsiveness
Dynamic interaction and responsiveness are the cornerstones of attractive UI designs. Tailwind CSS allows you to apply ring colors conditionally by pairing them with responsive modifiers and state selectors.
Hover and Focus States
You can define different ring colors for states such as hover and focus. This method improves user feedback and enhances accessibility.
export default function App() { return <h1>Hello world</h1> }
hover:ring-pink-400applies a pink ring when the image is hovered over.hover:ring-offset-4adds spacing between the image and the ring.
Breakpoint Modifiers
Tailwind provides built-in breakpoints to address different screen sizes. You can define specific ring colors or widths to adapt designs responsively.
export default function App() { return <h1>Hello world</h1> }
sm:ring-red-400: Applies red ring color on small devices.md:ring-green-400: Sets green ring color for medium screens.lg:ring-blue-400: Activates blue ring color for large layouts.
Custom Ring Color
In most cases, the default color palette in Tailwind is sufficient, but there are times when custom designs require unique shades or unpredictable RGB or HEX values. Tailwind enables customization at multiple levels.
Extending the Theme
You can extend the default theme in Tailwind to add your bespoke ring colors, ensuring complete design control. Add the custom ring colors in your tailwind.config.js file. Then, use the extended class names in the markup:
export default function App() { return <h1>Hello world</h1> }
Using Arbitrary Values
For occasions where you need unpredictable or context-specific values for ring colors, Tailwind supports arbitrary values. These can include custom HEX codes or RGB values.
export default function App() { return <h1>Hello world</h1> }
Real World Examples
Product Selection Cards with Ring Color Feedback
This example shows an e-commerce product selection interface where ring colors indicate the selected state of items.
export default function App() { return <h1>Hello world</h1> }
Interactive Team Member Cards
This example demonstrates team member cards with ring color emphasis on hover and focus states.
export default function App() { return <h1>Hello world</h1> }
Feature Toggle Switches
This example shows feature toggles with ring color feedback for accessibility and focus states.
export default function App() { return <h1>Hello world</h1> }
Social Media Profile Links
This example displays social media profile links with ring color interactions.
export default function App() { return <h1>Hello world</h1> }
File Upload Cards
This example shows file upload cards with ring color feedback for different states.
export default function App() { return <h1>Hello world</h1> }
Customization Examples
Gradient Ring Colors for Profile Cards
This example demonstrates how to create a profile card with a customized gradient ring color effect.
export default function App() { return <h1>Hello world</h1> }
Interactive Button Ring Animation
This example shows how to implement an interactive button with a custom ring color animation.
export default function App() { return <h1>Hello world</h1> }
Feature Card with Custom Ring Focus
This example demonstrates a feature card with custom ring colors for different states.
export default function App() { return <h1>Hello world</h1> }
Best Practices
Maintain Design Consistency
When applying ring color utilities across your project, it's crucial to ensure a unified and consistent design. Tailwind CSS provides a meticulously curated color palette that works well for consistent theme integration.
To achieve this, rely on the same range of colors for related components, such as buttons, form fields, and interactive cards. For instance, maintaining the same nuance between focus and active rings keeps the interface aesthetically pleasing.
export default function App() { return <h1>Hello world</h1> }
Using the same focus:ring-indigo-400 for the button and input creates harmony. This intentional alignment fosters professionalism and intuitive interaction in navigation systems.
Leverage Utility Combinations
You can combine Tailwind’s utilities to create intricate UI patterns without adding custom styles. Ring colors pair effectively with layout utilities like spacing, positioning, and alignment. Combining ring, ring-offset, and transition classes produces visually engaging components for hover and focus states.
export default function App() { return <h1>Hello world</h1> }
The harmonious interaction between ring-offset and scale-105 creates a polished animation effect, improving interactivity with minimal CSS.
Accessibility Considerations
Enhance Readability and Navigability
A well-applied ring color draws attention to key UI components, especially during focus or error states. Utilize bright, contrasting ring colors for interactive elements to provide immediate visual feedback. This improves the overall navigability of the interface for users with reduced vision.
export default function App() { return <h1>Hello world</h1> }
By making each focus state distinguishable, you ensure your application is functional for navigational aids like screen readers and keyboard focus indicators.
Focus on High Contrast
Tailwind’s robust color palette and custom configurations enable you to ensure adequate contrast ratios for accessibility. High contrast between the ring, element, and background enhances visibility for users with low vision or those browsing in brightly lit environments.
export default function App() { return <h1>Hello world</h1> }
The example above demonstrates adequate contrast between the form field, its ring, and the dark background while ensuring compliance with accessibility guidelines. This approach caters to assistive technologies and human users alike, strengthening inclusivity efforts.