Bird
Raised Fist0
Tailwindmarkup~20 mins

Layer organization (base, components, utilities) in Tailwind - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Tailwind Layer Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
What is the primary purpose of the base layer in Tailwind CSS?
In Tailwind CSS, the base layer is one of the three main layers for organizing styles. What does the base layer mainly contain?
AReusable UI components like buttons and cards
BGlobal styles like resets and default element styles
CUtility classes for margin, padding, and colors
DJavaScript code for interactive behavior
Attempts:
2 left
💡 Hint
Think about styles that affect all HTML elements by default.
📝 Syntax
intermediate
1:30remaining
Which Tailwind directive correctly adds styles to the components layer?
You want to add custom button styles to the components layer in your Tailwind CSS file. Which directive should you use?
Tailwind
@layer components {
  .btn-custom {
    @apply bg-blue-500 text-white px-4 py-2 rounded;
  }
}
Acomponents
Butilities
Cbase
Dstyles
Attempts:
2 left
💡 Hint
Components are reusable UI pieces like buttons.
❓ selector
advanced
2:00remaining
What is the effect of placing a style inside the utilities layer in Tailwind CSS?
Consider this Tailwind CSS snippet: @layer utilities { .text-shadow { text-shadow: 2px 2px #000000; } } What is the main effect of placing this style in the utilities layer?
AIt applies styles only to base HTML elements automatically
BIt overrides all component styles globally
CIt creates a utility class that can be combined with other utilities for quick styling
DIt disables the style unless explicitly imported
Attempts:
2 left
💡 Hint
Utilities are small, single-purpose classes.
❓ layout
advanced
2:00remaining
How does the order of layers base, components, and utilities affect CSS specificity in Tailwind?
Tailwind CSS applies layers in a specific order: base, components, then utilities. What is the practical effect of this order on how styles are applied?
AComponents override utilities and base because they have higher specificity
BBase styles override utilities and components because they load last
CAll layers have equal priority and order does not matter
DUtilities override components, which override base styles due to CSS cascade order
Attempts:
2 left
💡 Hint
Think about which styles should be easiest to override.
❓ accessibility
expert
2:30remaining
Which layer should you customize to improve keyboard focus styles for accessibility in Tailwind CSS?
You want to ensure all interactive elements have clear keyboard focus outlines for accessibility. Which Tailwind CSS layer is best suited for adding or customizing these focus styles globally?
Abase layer, because it sets global element defaults including focus outlines
Bcomponents layer, because focus styles belong only to buttons and cards
Cutilities layer, because focus styles should be small reusable classes
Dnone, because Tailwind does not support focus styles
Attempts:
2 left
💡 Hint
Focus styles affect many elements by default.

Practice

(1/5)
1. What is the main purpose of the base layer in Tailwind CSS?
easy
A. To add small helper classes for margin and padding
B. To create reusable UI components like buttons and cards
C. To set default styles for HTML elements like body and h1
D. To write JavaScript functions for styling

Solution

  1. Step 1: Understand the role of base layer

    The base layer sets default styles for basic HTML elements to ensure consistent look.
  2. Step 2: Differentiate from components and utilities

    Components are reusable UI parts, utilities are small helper classes, so they differ from base.
  3. Final Answer:

    To set default styles for HTML elements like body and h1 -> Option C
  4. Quick Check:

    Base layer = default element styles [OK]
Hint: Base layer styles HTML elements directly [OK]
Common Mistakes:
  • Confusing base with components
  • Thinking utilities set default HTML styles
  • Mixing JavaScript with CSS layers
2. Which of the following is the correct way to add a custom component style in Tailwind's layer system?
easy
A. @layer components { .card { @apply shadow-lg p-6; } }
B. @layer utilities { .btn { @apply px-4 py-2; } }
C. @layer base { h1 { font-weight: bold; } }
D. @layer utilities { body { margin: 0; } }

Solution

  1. Step 1: Identify the correct layer for components

    Custom reusable UI parts like cards belong in the components layer.
  2. Step 2: Check syntax correctness

    @layer components { .card { @apply shadow-lg p-6; } } uses @layer components with a class and @apply, which is correct.
  3. Final Answer:

    @layer components { .card { @apply shadow-lg p-6; } } -> Option A
  4. Quick Check:

    Components layer = reusable UI styles [OK]
Hint: Put reusable UI styles in components layer [OK]
Common Mistakes:
  • Putting components styles in utilities or base
  • Using element selectors in utilities layer
  • Incorrect @layer usage
3. Given this Tailwind CSS snippet, what will be the color of the h2 element?
@layer base {
  h2 { color: blue; }
}
@layer components {
  .title { color: red; }
}
@layer utilities {
  .text-green { color: green; }
}

<h2 class='title text-green'>Hello</h2>
medium
A. Red
B. Green
C. Blue
D. Black (default)

Solution

  1. Step 1: Understand CSS layer priority in Tailwind

    Utilities have the highest priority, then components, then base.
  2. Step 2: Check applied classes and their colors

    The h2 has classes title (red, components) and text-green (green, utilities). Utilities override components.
  3. Final Answer:

    Green -> Option B
  4. Quick Check:

    Utilities override components and base [OK]
Hint: Utilities override components and base styles [OK]
Common Mistakes:
  • Thinking base styles override utilities
  • Ignoring class order and layer priority
  • Assuming first declared style wins
4. You wrote this Tailwind CSS code but the .btn styles are not applied:
@layer utilities {
  .btn { @apply px-4 py-2 bg-blue-500; }
}

What is the most likely reason?
medium
A. Custom styles for buttons should be in the components layer, not utilities
B. You must use @layer base for all custom classes
C. The @apply directive cannot be used inside @layer
D. You forgot to add !important to the styles

Solution

  1. Step 1: Identify correct layer for button styles

    Buttons are reusable UI components, so they belong in the components layer.
  2. Step 2: Understand layer purpose

    Utilities are for small helper classes, not full component styles.
  3. Final Answer:

    Custom styles for buttons should be in the components layer, not utilities -> Option A
  4. Quick Check:

    Components layer = reusable UI parts [OK]
Hint: Put button styles in components, not utilities [OK]
Common Mistakes:
  • Putting components styles in utilities layer
  • Misusing @apply directive
  • Forgetting layer purpose
5. You want to create a custom utility class .text-shadow that adds a subtle shadow to text. Where should you place this style in Tailwind's layer system and why?
@layer ??? {
  .text-shadow {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
  }
}
hard
A. In base because it sets default text styles
B. In components because it is a reusable UI part
C. Directly in HTML style attribute, not in any layer
D. In utilities because it is a small helper class

Solution

  1. Step 1: Classify the style type

    The .text-shadow class is a small helper that adds a single CSS property.
  2. Step 2: Match style type to layer

    Small helper classes belong in the utilities layer, not base or components.
  3. Final Answer:

    In utilities because it is a small helper class -> Option D
  4. Quick Check:

    Utilities layer = small helper classes [OK]
Hint: Small helper classes go in utilities layer [OK]
Common Mistakes:
  • Putting small helpers in components or base
  • Confusing reusable UI parts with utilities
  • Using inline styles instead of layers
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