Understanding Why Arbitrary Values Exist in Tailwind CSS
📖 Scenario: You are building a simple webpage where you want to style a box with a custom width and background color that are not part of Tailwind's default options.
🎯 Goal: Create a box using Tailwind CSS that uses arbitrary values for width and background color to demonstrate how you can customize styles beyond the default Tailwind classes.
📋 What You'll Learn
Use Tailwind CSS to style a <div> element
Set the width of the box to exactly 18rem using an arbitrary value
Set the background color of the box to exactly #4a90e2 using an arbitrary value
Add some padding and rounded corners using standard Tailwind classes
Ensure the box is centered horizontally on the page
💡 Why This Matters
🌍 Real World
Web developers often need to apply styles that are not included in Tailwind's default set. Arbitrary values let them do this quickly without writing custom CSS.
💼 Career
Knowing how to use arbitrary values in Tailwind CSS is valuable for frontend developers to create unique designs while keeping code clean and maintainable.
Progress0 / 4 steps
1
Create the HTML structure with a <div> box
Write the basic HTML skeleton with a <div> element that will be styled later. The <div> should have a class box.
Tailwind
Hint
Start with a simple HTML page and add a <div> with class box inside the <body>.
2
Add a config variable for the box width using an arbitrary value
Add the Tailwind class w-[18rem] to the <div> with class box to set its width to exactly 18rem.
Tailwind
Hint
Use the square bracket syntax w-[18rem] to set a custom width in Tailwind.
3
Add an arbitrary background color using Tailwind
Add the Tailwind class bg-[#4a90e2] to the <div> with class box w-[18rem] to set its background color to exactly #4a90e2.
Tailwind
Hint
Use the square bracket syntax bg-[#4a90e2] to set a custom background color in Tailwind.
4
Add padding, rounded corners, and center the box horizontally
Add the Tailwind classes p-6, rounded-lg, and mx-auto to the <div> with class box w-[18rem] bg-[#4a90e2] to add padding, rounded corners, and center it horizontally on the page.
Tailwind
Hint
Add padding with p-6, rounded corners with rounded-lg, and center horizontally with mx-auto.
Practice
(1/5)
1. Why do arbitrary values exist in Tailwind CSS?
easy
A. To allow using any custom CSS value beyond default Tailwind options
B. To restrict styling only to predefined Tailwind classes
C. To automatically generate animations
D. To replace JavaScript functionality
Solution
Step 1: Understand Tailwind's default options
Tailwind provides many predefined classes but cannot cover every possible CSS value.
Step 2: Purpose of arbitrary values
Arbitrary values let you write any CSS value inside square brackets to customize styles beyond defaults.
Final Answer:
To allow using any custom CSS value beyond default Tailwind options -> Option A
Quick Check:
Arbitrary values = custom CSS values [OK]
Hint: Think: Custom styles beyond presets use arbitrary values [OK]
Common Mistakes:
Thinking arbitrary values limit styling
Confusing arbitrary values with animations
Believing arbitrary values replace JavaScript
2. Which of the following is the correct syntax to set a custom width of 450 pixels using Tailwind's arbitrary values?
easy
A. width-450
B. w-[450px]
C. w-450px
D. width-[450]
Solution
Step 1: Recall Tailwind arbitrary value syntax
Arbitrary values use square brackets with the CSS value inside, e.g., w-[450px].
Step 2: Check each option
Only w-[450px] uses square brackets and includes units correctly.
Final Answer:
w-[450px] -> Option B
Quick Check:
Correct syntax = w-[450px] [OK]
Hint: Remember: square brackets around full CSS value with units [OK]
Common Mistakes:
Omitting square brackets
Missing units like px
Using dash instead of brackets
3. What will be the width of the div rendered by this code?
C. Width of 30rem (about 480px) with blue background
D. Width of 30rem but no background color
Solution
Step 1: Interpret the class w-[30rem]
This sets the width to exactly 30rem, which is about 480 pixels (1rem ≈ 16px).
Step 2: Check other classes
bg-blue-500 sets a blue background, text-white sets white text, and p-4 adds padding.
Final Answer:
Width of 30rem (about 480px) with blue background -> Option C
Quick Check:
Arbitrary width 30rem + blue bg = Width of 30rem (about 480px) with blue background [OK]
Hint: Remember rem units scale with root font size (~16px) [OK]
Common Mistakes:
Confusing rem with px
Ignoring background color class
Assuming default width
4. Identify the error in this Tailwind class usage:
<div class="h-[100] bg-red-400">Error</div>
medium
A. Missing units inside the arbitrary value brackets
B. Incorrect use of square brackets
C. bg-red-400 is not a valid Tailwind class
D. Height cannot be set with arbitrary values
Solution
Step 1: Check the arbitrary value syntax
The height is set as h-[100] but lacks units like px or rem.
Step 2: Understand CSS requirements
CSS requires units for length values unless it's zero; so 100 alone is invalid.
Final Answer:
Missing units inside the arbitrary value brackets -> Option A
Quick Check:
Units required inside brackets [OK]
Hint: Always include units like px or rem inside brackets [OK]
Common Mistakes:
Forgetting units inside arbitrary values
Thinking brackets are wrong syntax
Assuming Tailwind classes are invalid
5. You want to create a button with a custom border radius of 12px and a padding of 1.25rem using Tailwind. Which class combination correctly uses arbitrary values to achieve this?
hard
A. rounded-12px p-1.25rem
B. rounded-12 p-1.25rem
C. rounded-[12] p-[1.25]
D. rounded-[12px] p-[1.25rem]
Solution
Step 1: Use square brackets for arbitrary values
Custom values must be inside square brackets with units, e.g., rounded-[12px] and p-[1.25rem].
Step 2: Check each option
Only rounded-[12px] p-[1.25rem] correctly uses brackets and includes units for both border radius and padding.
Final Answer:
rounded-[12px] p-[1.25rem] -> Option D
Quick Check:
Arbitrary values need brackets + units [OK]
Hint: Use brackets and units for all custom CSS values [OK]
Common Mistakes:
Omitting brackets
Leaving out units
Mixing syntax without brackets
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.