What if you could pick any color you want instantly without leaving Tailwind's comfort zone?
Why Arbitrary color values in Tailwind? - Purpose & Use Cases
Start learning this pattern below
Jump into concepts and practice - no test required
Imagine you want your website button to have a very specific shade of blue that is not in the default color list.
You try to write CSS for it manually or pick the closest color from Tailwind's palette.
Manually writing CSS for each unique color is slow and breaks the consistency of your Tailwind setup.
Picking the closest default color means your design looks off and less unique.
Arbitrary color values let you write any color directly inside Tailwind classes using square brackets, keeping your code clean and consistent.
button {
background-color: #4a90e2;
color: white;
}class="bg-[#4a90e2] text-white"
You can use any exact color you want while still using Tailwind's utility-first approach.
A brand requires a unique color for their call-to-action buttons that is not in Tailwind's palette; arbitrary colors let you match it perfectly without extra CSS files.
Manually adding unique colors is slow and inconsistent.
Arbitrary color values let you use any color directly in Tailwind classes.
This keeps your design precise and your code clean.
Practice
bg-[#ff5733]Solution
Step 1: Understand Tailwind's default colors
Tailwind provides a set of default colors but sometimes you need a specific shade not included.Step 2: Use arbitrary color values
By writing colors inside square brackets likebg-[#ff5733], you can use any valid CSS color.Final Answer:
To use any custom color not in Tailwind's default palette -> Option BQuick Check:
Arbitrary colors = custom colors [OK]
- Thinking arbitrary colors create animations
- Confusing color usage with font size changes
- Using arbitrary colors for shadows instead of colors
Solution
Step 1: Check the correct use of square brackets
Arbitrary values must be inside square brackets exactly, sobg-[...]is correct.Step 2: Validate the color function syntax
The color functionrgba(255,0,0,0.5)is valid CSS and correctly placed inside brackets.Final Answer:
bg-[rgba(255,0,0,0.5)] -> Option AQuick Check:
Correct brackets + valid rgba = bg-[rgba(255,0,0,0.5)] [OK]
- Omitting square brackets
- Using parentheses instead of brackets
- Using rgb instead of rgba for transparency
text-[hsl(120,100%,50%)]Solution
Step 1: Understand HSL color values
HSL stands for hue, saturation, and lightness. Hue 120° corresponds to green.Step 2: Analyze saturation and lightness
100% saturation and 50% lightness means the color is bright and fully saturated green.Final Answer:
Bright green -> Option AQuick Check:
Hue 120° = green [OK]
- Confusing hue degrees with other colors
- Ignoring saturation and lightness effects
- Assuming default Tailwind colors instead of arbitrary
bg-[#12345G]Solution
Step 1: Check hex color validity
Hex colors only allow digits 0-9 and letters A-F (case-insensitive). 'G' is invalid.Step 2: Confirm brackets and prefix
Square brackets and prefixbg-are correct here.Final Answer:
Invalid hex color code due to 'G' -> Option CQuick Check:
Hex digits must be 0-9 or A-F [OK]
- Ignoring invalid hex characters
- Thinking brackets are missing
- Confusing prefix names
Solution
Step 1: Use correct dark mode prefix
Tailwind usesdark:prefix to apply styles in dark mode.Step 2: Use correct arbitrary color syntax
Colors must be inside square brackets with valid CSS color values.Step 3: Validate color values
RGB values must be between 0 and 255; bg-[rgb(255,255,255)] dark:bg-[rgb(300,300,300)] has invalid 300 values.Final Answer:
bg-[rgb(255,255,255)] dark:bg-[rgb(30,30,30)] -> Option DQuick Check:
Correct dark: prefix + valid colors = bg-[rgb(255,255,255)] dark:bg-[rgb(30,30,30)] [OK]
- Using wrong dark mode prefix syntax
- Omitting square brackets for arbitrary colors
- Using invalid RGB values above 255
