Back to Blog
CSS

Modern CSS Techniques for 2024

Explore the latest CSS features including container queries, cascade layers, and the :has() selector.

NexaUI TechNexaUI Tech
October 20, 20246 min read
Modern CSS Techniques for 2024

Introduction

CSS has evolved significantly in recent years, introducing powerful features that were once only possible with JavaScript or complex workarounds. In 2024, we have access to tools that make layout, responsiveness, and state management in CSS cleaner and more efficient.

Container Queries

Container queries allow us to style elements based on the size of their container rather than the viewport. This is a game-changer for component-based design.

.card-container {
  container-type: inline-size;
}

.card {
  display: flex;
  flex-direction: column;
}

@container (min-width: 500px) {
  .card {
    flex-direction: row;
  }
}

The :has() Selector

Often called the "parent selector," :has() allows you to style a parent element based on its children or their state.

/* Style the card border if it contains a checked checkbox */
.card:has(input[type="checkbox"]:checked) {
  border-color: var(--primary);
  background-color: var(--primary-light);
}

Cascade Layers

Cascade layers (@layer) give you control over the specificity hierarchy, allowing you to prevent third-party styles from overriding your own without resorting to !important.

@layer reset, base, theme, utilities;

@layer base {
  h1 { font-size: 2rem; }
}

@layer theme {
  h1 { color: purple; } /* This wins regardless of specificity */
}

Subgrid

Subgrid allows a child element to inherit the grid definition of its parent, ensuring perfect alignment across nested structures.

.grid-parent {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

.grid-child {
  display: grid;
  grid-template-columns: subgrid;
}

Conclusion

Embracing these modern CSS features allows for more robust, maintainable, and responsive designs. As browser support continues to improve, these tools are becoming essential for every frontend developer's toolkit.

Tags:CSSTailwindDesign
Share:

Want to discuss this topic?

I'd love to hear your thoughts or answer any questions.

Get in Touch