Bird
Raised Fist0
Tailwindmarkup~10 mins

Extending default theme values in Tailwind - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to extend the Tailwind theme colors with a new color named 'brand'.

Tailwind
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: [1]
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
A'red-600'
B'#1DA1F2'
C'#000000'
D'blue-500'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a default color name like 'blue-500' instead of a hex code.
Not wrapping the color value in quotes.
2fill in blank
medium

Complete the code to extend the Tailwind theme fontSize with a new size called 'xxs' set to '0.65rem'.

Tailwind
module.exports = {
  theme: {
    extend: {
      fontSize: {
        xxs: [1]
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
A0.5rem
B0.75rem
C'1rem'
D'0.65rem'
Attempts:
3 left
💡 Hint
Common Mistakes
Using numbers without quotes for font sizes.
Using an incorrect size value.
3fill in blank
hard

Fix the error in the code to correctly extend the Tailwind spacing scale by adding '72' as '18rem'.

Tailwind
module.exports = {
  theme: {
    extend: {
      spacing: {
        72: [1]
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
A'18rem'
B18rem
C'72rem'
D72
Attempts:
3 left
💡 Hint
Common Mistakes
Using numbers without quotes for spacing values.
Using wrong units or missing quotes.
4fill in blank
hard

Fill in the blank to extend the Tailwind theme with a new boxShadow named 'soft' and set it to '0 2px 8px rgba(0, 0, 0, 0.1)'.

Tailwind
module.exports = {
  theme: {
    extend: {
      boxShadow: {
        soft: [1]
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
A'0 2px 8px rgba(0, 0, 0, 0.1)'
B'0 4px 6px rgba(0, 0, 0, 0.1)'
D'0 1px 3px rgba(0, 0, 0, 0.1)'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong shadow values.
5fill in blank
hard

Fill all three blanks to extend the Tailwind theme with a new zIndex named 'max' set to 9999 and a new borderRadius named 'xl' set to '1rem'.

Tailwind
module.exports = {
  theme: {
    extend: {
      zIndex: {
        max: [1]
      },
      borderRadius: {
        xl: [2]
      },
      colors: {
        highlight: [3]
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
A9999
B'1rem'
C'#ff0'
D'2rem'
Attempts:
3 left
💡 Hint
Common Mistakes
Putting numbers in quotes for zIndex.
Not quoting the borderRadius value.
Using invalid color values.

Practice

(1/5)
1. What is the main purpose of using extend inside the theme in Tailwind CSS?
easy
A. To remove unused styles from Tailwind CSS
B. To completely replace the default Tailwind styles
C. To add new styles without removing the default Tailwind styles
D. To disable Tailwind's default configuration

Solution

  1. Step 1: Understand the role of extend in Tailwind

    The extend key inside theme allows you to add new values while keeping the default ones intact.
  2. Step 2: Compare with replacing defaults

    If you don't use extend and directly define values, you replace the defaults, losing them.
  3. Final Answer:

    To add new styles without removing the default Tailwind styles -> Option C
  4. Quick Check:

    Extend = Add without losing defaults [OK]
Hint: Remember: extend adds, doesn't replace defaults [OK]
Common Mistakes:
  • Thinking extend replaces default styles
  • Confusing extend with purge or disable
  • Assuming extend removes unused styles
2. Which of the following is the correct syntax to add a new color named brandBlue with hex #1DA1F2 using extend in Tailwind config?
easy
A. "theme": { "extend": { "colors": { "brandBlue": "#1DA1F2" } } }
B. "extend": { "colors": { "brandBlue": "#1DA1F2" } }
C. "theme": { "colors": { "brandBlue": "#1DA1F2" } }
D. "colors": { "extend": { "brandBlue": "#1DA1F2" } }

Solution

  1. Step 1: Locate where to put extend

    The extend key must be inside the theme object to add new values.
  2. Step 2: Add new color inside extend.colors

    The new color name and value go inside colors nested under extend.
  3. Final Answer:

    "theme": { "extend": { "colors": { "brandBlue": "#1DA1F2" } } } -> Option A
  4. Quick Check:

    Extend inside theme, colors inside extend [OK]
Hint: Put extend inside theme, then add colors inside extend [OK]
Common Mistakes:
  • Placing extend outside theme
  • Adding colors directly inside theme without extend
  • Misplacing extend inside colors
3. Given this Tailwind config snippet, what will be the background color class for the new color?
{
  theme: {
    extend: {
      colors: {
        softGreen: '#a8d5ba'
      }
    }
  }
}

Which class applies the new color as background?
medium
A. bg-softgreen
B. bg-soft_green
C. bg-soft-green
D. bg-softGreen

Solution

  1. Step 1: Understand Tailwind class naming for custom colors

    Tailwind generates utility classes using the exact key name from the theme object as the class suffix, preserving case and format. softGreen (camelCase) becomes bg-softGreen.
  2. Step 2: Form the background color class

    Background color classes are bg- followed by the exact color key name.
  3. Final Answer:

    bg-softGreen -> Option D
  4. Quick Check:

    Exact key match: softGreen -> bg-softGreen [OK]
Hint: Theme keys match class suffixes exactly, case preserved [OK]
Common Mistakes:
  • Assuming Tailwind converts camelCase to lowercase
  • Adding hyphens between camelCase words
  • Using underscores in place of camelCase
4. Identify the error in this Tailwind config snippet that tries to add a new spacing value:
{
  theme: {
    extend: {
      spacing: 72: '18rem'
    }
  }
}
medium
A. Spacing key should be inside colors
B. Missing curly braces around spacing values
C. Colon used instead of comma between key and value
D. extend should be outside theme

Solution

  1. Step 1: Check syntax for spacing extension

    The spacing key must have an object with key-value pairs inside curly braces.
  2. Step 2: Identify missing braces

    Here, spacing: 72: '18rem' misses curly braces around { 72: '18rem' }.
  3. Final Answer:

    Missing curly braces around spacing values -> Option B
  4. Quick Check:

    Objects need braces: spacing: { 72: '18rem' } [OK]
Hint: Use braces {} for objects inside extend keys [OK]
Common Mistakes:
  • Forgetting braces around nested objects
  • Putting spacing inside colors by mistake
  • Placing extend outside theme
5. You want to add a new font size called xxl with value 2.5rem but keep all default font sizes. Which config snippet correctly extends the fontSize theme without losing defaults?
hard
A. { theme: { extend: { fontSize: { xxl: '2.5rem' } } } }
B. { theme: { fontSize: { xxl: '2.5rem' } } }
C. { extend: { fontSize: { xxl: '2.5rem' } } }
D. { fontSize: { xxl: '2.5rem' } }

Solution

  1. Step 1: Understand how to keep default font sizes

    To keep defaults, new values must be added inside extend under theme.
  2. Step 2: Check each option's structure

    { theme: { extend: { fontSize: { xxl: '2.5rem' } } } } correctly places fontSize inside extend inside theme. Others replace or misplace keys.
  3. Final Answer:

    { theme: { extend: { fontSize: { xxl: '2.5rem' } } } } -> Option A
  4. Quick Check:

    Extend inside theme keeps defaults while adding new values [OK]
Hint: Always put new values inside extend under theme [OK]
Common Mistakes:
  • Replacing fontSize directly, losing defaults
  • Placing extend outside theme
  • Omitting extend and overwriting defaults
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