Skip to content
mediummid1 min read #frontend #css

How does CSS specificity work? ​

Answer ​

Specificity determines which competing declaration wins after origin and importance: IDs outrank classes, attributes, and pseudo-classes, which outrank element selectors. Prefer low-specificity, composable selectors instead of escalating with IDs or !important.

Context ​

CSS is a cascade-based layout system. Robust styles keep specificity low, make layout constraints explicit, and let components adapt to their available space instead of a fixed device list.

Example ​

css
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1rem;
}

This grid responds to available container width without relying on device-specific breakpoints.

Practical considerations ​

  1. Choose the approach from the requirement and constraints, not from habit.
  2. Include validation, error handling, and cleanup where the boundary requires them.
  3. Verify the observable result with focused tests or measurement.

Follow-up prompts ​

  • What failure mode would you expect if this were implemented incorrectly?
  • How would you test this behaviour?
  • What changes when the feature must scale to a larger application or team?

In practice ​

For this medium-level topic, make assumptions explicit, choose the smallest safe implementation, and verify the behavior at the relevant boundary.