Bird
Raised Fist0
Tailwindmarkup~3 mins

Why Square bracket notation for custom values in Tailwind? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how a tiny syntax trick lets you unlock endless design possibilities instantly!

The Scenario

Imagine you want a button with a very specific shade of blue that Tailwind doesn't have built-in. You try to write CSS for it manually or pick the closest color from Tailwind's palette.

The Problem

Manually writing CSS means switching between files, breaking your flow, and risking inconsistent styles. Picking the closest color can make your design look off or unprofessional.

The Solution

Tailwind's square bracket notation lets you write custom values directly in your class names, like bg-[#1a73e8], so you get exactly the color or size you want without extra CSS files.

Before vs After
✗ Before
button {
  background-color: #1a73e8;
  padding: 1rem;
}
✓ After
<button class="bg-[#1a73e8] p-4">Click me</button>
What It Enables

You can quickly use any custom color, size, or spacing right in your HTML, keeping your code clean and your design precise.

Real Life Example

A designer gives you a brand color that's not in Tailwind's palette. Instead of editing config files or writing CSS, you just write text-[#ff4500] to match it perfectly.

Key Takeaways

Manual CSS slows you down and breaks flow.

Square bracket notation lets you add exact custom values inline.

This keeps your code simple, fast, and design-perfect.

Practice

(1/5)
1. What does the square bracket notation in Tailwind CSS allow you to do?
easy
A. Disable Tailwind's default styles
B. Write JavaScript code inside Tailwind classes
C. Create new Tailwind utility classes permanently
D. Use custom CSS values not included in Tailwind's default set

Solution

  1. Step 1: Understand Tailwind's default values

    Tailwind provides a set of predefined values for spacing, colors, sizes, etc.
  2. Step 2: Role of square bracket notation

    Square bracket notation lets you write any CSS value directly inside a class, like mt-[10px] for margin-top 10 pixels.
  3. Final Answer:

    Use custom CSS values not included in Tailwind's default set -> Option D
  4. Quick Check:

    Square brackets = custom CSS values [OK]
Hint: Square brackets mean custom CSS values inside Tailwind classes [OK]
Common Mistakes:
  • Thinking it creates new permanent classes
  • Confusing with JavaScript code inside classes
  • Assuming it disables Tailwind styles
2. Which of the following is the correct Tailwind class to set a width of exactly 250 pixels using square bracket notation?
easy
A. width-[250]
B. w-[250px]
C. w-250px
D. w-[250]

Solution

  1. Step 1: Identify correct Tailwind prefix for width

    Tailwind uses w- prefix for width utilities.
  2. Step 2: Use square brackets with full CSS value

    Inside brackets, you must include the unit, so 250px is correct.
  3. Final Answer:

    w-[250px] -> Option B
  4. Quick Check:

    Width with unit inside brackets = w-[250px] [OK]
Hint: Use full CSS value with units inside brackets after utility prefix [OK]
Common Mistakes:
  • Omitting units inside brackets
  • Using wrong prefix like width-
  • Not using brackets for custom values
3. What will be the rendered width of a div with class class="w-[15rem]" in Tailwind CSS?
medium
A. 15 rem units (usually 15 times root font size)
B. 15 pixels
C. 15 percent width
D. 15 viewport width units

Solution

  1. Step 1: Understand the CSS unit inside brackets

    The class w-[15rem] sets width to 15 rem units, where 1 rem equals the root font size (usually 16px).
  2. Step 2: Interpret the rendered size

    15 rem means 15 times the root font size, so it is not pixels or percent but relative to font size.
  3. Final Answer:

    15 rem units (usually 15 times root font size) -> Option A
  4. Quick Check:

    Square bracket value with rem = relative font size width [OK]
Hint: Read units inside brackets literally as CSS units [OK]
Common Mistakes:
  • Assuming rem means pixels
  • Confusing rem with percent or viewport units
  • Ignoring units inside brackets
4. You wrote class="p-[20]" to add padding of 20 pixels, but it doesn't work. What is the error?
medium
A. Padding cannot be customized in Tailwind
B. Square brackets are not allowed for padding
C. Missing unit inside square brackets
D. Class name should be padding-[20px]

Solution

  1. Step 1: Check the syntax of the custom value

    Inside square brackets, you must include the CSS unit, like 20px, not just a number.
  2. Step 2: Understand Tailwind's requirement for units

    Without units, the CSS value is invalid, so the style won't apply.
  3. Final Answer:

    Missing unit inside square brackets -> Option C
  4. Quick Check:

    Always include units inside brackets for custom values [OK]
Hint: Always add units like px, rem inside brackets for spacing [OK]
Common Mistakes:
  • Omitting units inside brackets
  • Using wrong class names like padding-
  • Thinking padding can't be customized
5. You want a button with a background color exactly #1a73e8 and a border radius of 12px using Tailwind's square bracket notation. Which class combination is correct?
hard
A. bg-[#1a73e8] rounded-[12px]
B. bg-#1a73e8 rounded-12px
C. background-[#1a73e8] border-radius-[12px]
D. bg-[#1a73e8] rounded-[12]

Solution

  1. Step 1: Use correct Tailwind prefixes

    Background color uses bg- and border radius uses rounded-.
  2. Step 2: Apply square bracket notation with full CSS values

    Inside brackets, include the full hex color #1a73e8 and the unit 12px for radius.
  3. Step 3: Check for syntax correctness

    bg-[#1a73e8] rounded-[12px] uses correct prefixes and proper bracket notation with units and hash symbol.
  4. Final Answer:

    bg-[#1a73e8] rounded-[12px] -> Option A
  5. Quick Check:

    Use correct prefixes + full CSS values in brackets [OK]
Hint: Use bg- and rounded- with full CSS values inside brackets [OK]
Common Mistakes:
  • Omitting # in hex color
  • Missing units for border radius
  • Using wrong prefixes like background-
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard