CSS Grid

CSS
.grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(4, 1fr);
	grid-gap: 15px;
}

.grid-child {
	grid-row: 1 / 5;
	grid-column: 2 / 3;
	
	/* das gleiche wie */
	grid-area: 1 / 2 / 5 / 3;
}


// zwei spalten
grid-template-columns: 4fr 1fr; 

// drei zeilen, die erste ist maximal 120px hoch
grid-template-rows: minmax(0, 120px) 3fr 1fr;

Auto responsive Grid

  • Ich will ein 3-Spalten Layout
  • Ich muss die Container Weite wissen. In diesem Beispiel ist die 1440px breit.
  • Ich nehme die gewünschte Anzahl an Spalten, addiere diese plus 1 und teile die Summe durch die Conainer Weite. Also 3+1 = 4 und 1440px / 4 = 360.
  • Ich füge diese 360px in der minmax Kalkulation ein.
  • Du kannst die Werte nach belieben anpassen
CSS
.grid-container {
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

Was passiert nun?
Das Grid-Item muss nun minimum 360px breit sein. Wenn es auf dem Bildschirm keinen Platz mehr dafür hat, dann bricht es das Layout automatisch um und das Grid-Item fügt sich eine Zeile weiter unten ein. Voilà, nun ist es automatisch responsive.

Du kannst die einzelnen Grid-Items natürlich immer noch individuell anwählen und je nach Breakpoint andere Darstellungen hinzufügen.