DEV Community

Cover image for A Must save CSS grid Technique ! (with code)
jeetvora331
jeetvora331

Posted on

6 1 1 1 1

A Must save CSS grid Technique ! (with code)

Grids are everywhere, you encounter them everywhere from browsing the images on Google to looking at the latest movies and shows on OTT platforms, but sometimes grid is difficult to implement with only CSS. In this article let's look at my go to code snippet for grid implementation.

The CSS properties repeat(auto-fit, minmax(240px, 1fr)) are used to create a responsive grid layout without using media queries. Let's break down each part of this property:

  • The minmax() function is a built-in CSS grid function used to set a range of width In this case, the minimum value is 240px, and the maximum value is 1fr.
  • The auto-fit keyword is used to automatically place grid items, filling the available space. This property helps create a responsive layout without using media queries
  • The repeat() function is used to define a pattern of grid columns or rows.

Look at this example:

Image description

And when the display size changes,

Image description

Code for the Example:
HTML

<div class="container">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
  <div>Item 5</div>
  <div>Item 6</div>
  <div>Item 7</div>
  <div>Item 8</div>
  <div>Item 9</div>
  <div>Item 10</div>
  <div>Item 11</div>
  <div>Item 12</div>
  <div>Item 13</div>
</div>

Enter fullscreen mode Exit fullscreen mode

CSS:

.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 1rem;

}

.container > div{
  background: cyan;
  padding: 50px;
  border-style: solid;  
  border-width: 1px;  
}

Enter fullscreen mode Exit fullscreen mode

Also by default the root font size is 16px, so we can convert the 240px to 15rem. So in this example, the grid will automatically adjust the number of columns based on the available space, ensuring that each column is at least 240px (or 15rem) wide and distributing the remaining space equally among the columns.

grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (3)

Collapse
 
iamhectorsosa profile image
Hector Sosa

Grid is an amazing skill to master in your CSS toolkit. Framing your screenshots might help making your content stand out! We've built a simple OSS tool to help with this. Check it out and let us know what you think! github.com/ekqt/screenshot I'd appreciate giving it a star on GitHub if you find it helpful! Cheers!

Collapse
 
jeetvora331 profile image
jeetvora331

Nice Tool! starred the repo!

Collapse
 
iamhectorsosa profile image
Hector Sosa

Huge thanks!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay