Bird
Raised Fist0
Tailwindmarkup~5 mins

Overriding color palette in Tailwind

Choose your learning style10 modes available
Introduction

Changing the default colors helps you match your website's style. It makes your design unique and consistent.

You want your brand colors to show on buttons and backgrounds.
You need specific shades that Tailwind doesn't have by default.
You want to keep your color names but change their shades.
You want to simplify colors for a minimal design.
You want to add new colors alongside the default ones.
Syntax
Tailwind
module.exports = {
  theme: {
    extend: {
      colors: {
        primary: '#1DA1F2',
        secondary: '#14171A'
      }
    }
  }
}

Use extend to add or change colors without removing Tailwind's defaults.

Define colors as hex codes, rgb, or named colors.

Examples
Adds a new color called brandBlue without removing default colors.
Tailwind
module.exports = {
  theme: {
    extend: {
      colors: {
        brandBlue: '#0d47a1'
      }
    }
  }
}
Replaces the entire color palette with only red and green.
Tailwind
module.exports = {
  theme: {
    colors: {
      red: '#ff0000',
      green: '#00ff00'
    }
  }
}
Overrides only some shades of the gray color.
Tailwind
module.exports = {
  theme: {
    extend: {
      colors: {
        gray: {
          100: '#f5f5f5',
          900: '#111111'
        }
      }
    }
  }
}
Sample Program

This example shows how to override Tailwind's color palette by adding primary and secondary colors. The page background uses the primary color, and the button uses the secondary color. The button changes color on hover.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Custom Color Palette</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <script>
    tailwind.config = {
      theme: {
        extend: {
          colors: {
            primary: '#1DA1F2',
            secondary: '#14171A'
          }
        }
      }
    }
  </script>
</head>
<body class="bg-primary text-white min-h-screen flex flex-col items-center justify-center">
  <h1 class="text-4xl font-bold mb-4">Welcome to My Site</h1>
  <button class="bg-secondary px-6 py-3 rounded hover:bg-gray-700 transition">Click Me</button>
</body>
</html>
OutputSuccess
Important Notes

Always use extend unless you want to replace all default colors.

Test your colors for good contrast to keep text readable.

You can use the Tailwind Play tool to try colors live in the browser.

Summary

Override colors by adding or changing them in the Tailwind config.

Use extend to keep default colors and add your own.

Custom colors help your site look unique and match your brand.

Practice

(1/5)
1. What is the main purpose of overriding the color palette in Tailwind CSS?
easy
A. To add or change colors to match your brand or design needs
B. To remove all default colors from Tailwind
C. To disable Tailwind's color utilities completely
D. To change the font sizes in Tailwind

Solution

  1. Step 1: Understand Tailwind's default colors

    Tailwind provides a default color palette for quick styling.
  2. Step 2: Purpose of overriding colors

    Overriding lets you add or change colors to fit your brand or design.
  3. Final Answer:

    To add or change colors to match your brand or design needs -> Option A
  4. Quick Check:

    Overriding colors = Customize palette [OK]
Hint: Overriding colors means customizing palette, not removing defaults [OK]
Common Mistakes:
  • Thinking overriding removes all default colors
  • Confusing color palette with font sizes
  • Believing overriding disables Tailwind features
2. Which is the correct way to add a custom color named brandBlue without removing default colors in tailwind.config.js?
easy
A. extend: { colors: { brandBlue: '#1DA1F2' } }
B. colors: { brandBlue: '#1DA1F2' }
C. theme: { colors: { brandBlue: '#1DA1F2' } }
D. colors: extend { brandBlue: '#1DA1F2' }

Solution

  1. Step 1: Use extend inside theme

    To add colors without removing defaults, use extend inside theme.
  2. Step 2: Correct syntax for adding colors

    The correct syntax is extend: { colors: { brandBlue: '#1DA1F2' } }.
  3. Final Answer:

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

    Use extend to add colors [OK]
Hint: Always put new colors inside extend.colors to keep defaults [OK]
Common Mistakes:
  • Adding colors directly under colors removes defaults
  • Wrong object nesting in config
  • Syntax errors like missing braces
3. Given this tailwind.config.js snippet, what background color will bg-brandBlue apply?
module.exports = {
  theme: {
    extend: {
      colors: {
        brandBlue: '#1DA1F2'
      }
    }
  }
}
medium
A. A light gray color
B. The default Tailwind blue color
C. A bright blue color #1DA1F2
D. No color, it will cause an error

Solution

  1. Step 1: Check the custom color definition

    The config adds brandBlue with hex #1DA1F2.
  2. Step 2: Understand class usage

    The class bg-brandBlue uses this custom color as background.
  3. Final Answer:

    A bright blue color #1DA1F2 -> Option C
  4. Quick Check:

    bg-brandBlue = #1DA1F2 [OK]
Hint: Custom colors apply exactly as defined in config [OK]
Common Mistakes:
  • Assuming default blue is used instead
  • Thinking it causes an error without import
  • Confusing color names with default palette
4. What is wrong with this Tailwind config snippet if you want to add a custom color but keep defaults?
module.exports = {
  theme: {
    colors: {
      brandRed: '#E02424'
    }
  }
}
medium
A. Custom colors must be outside the theme object
B. The color hex code is invalid
C. The config syntax is missing a comma
D. It removes all default colors because it overwrites colors directly

Solution

  1. Step 1: Check how colors are added

    Adding colors directly under colors replaces all default colors.
  2. Step 2: Correct way to keep defaults

    Use extend: { colors: { brandRed: '#E02424' } } inside theme to add without removing.
  3. Final Answer:

    It removes all default colors because it overwrites colors directly -> Option D
  4. Quick Check:

    Direct colors overwrite defaults [OK]
Hint: Direct colors overwrite defaults; use extend to add [OK]
Common Mistakes:
  • Not using extend and losing default colors
  • Thinking hex code is wrong
  • Misplacing config keys
5. You want to override the Tailwind color palette to add brandGreen and also change the default blue color to #005f73. Which config snippet correctly does this?
hard
A. theme: { extend: { colors: { brandGreen: '#0a9396' } }, blue: '#005f73' }
B. theme: { extend: { colors: { brandGreen: '#0a9396', blue: '#005f73' } } }
C. theme: { extend: { colors: { brandGreen: '#0a9396' } }, colors: { blue: '#005f73' } }
D. theme: { colors: { brandGreen: '#0a9396', blue: '#005f73' } }

Solution

  1. Step 1: Adding new colors

    Use theme.extend.colors to add brandGreen without removing defaults.
  2. Step 2: Overriding existing colors

    To change default blue, use extend.colors.blue: '#005f73'; this overrides it while keeping other defaults.
  3. Step 3: Correct config

    Place both in extend.colors: { brandGreen: '#0a9396', blue: '#005f73' }.
  4. Final Answer:

    theme: { extend: { colors: { brandGreen: '#0a9396', blue: '#005f73' } } } -> Option B
  5. Quick Check:

    New + override = extend.colors [OK]
Hint: Use extend.colors for adding new colors and overriding existing ones [OK]
Common Mistakes:
  • Defining overrides under theme.colors (loses default palette)
  • Overwriting colors without extend losing defaults
  • Incorrect nesting of colors object
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