CSS Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
display: grid; | Legt das Element als Grid-Container fest |
grid-template-colums | Legt die Anzahl und Breite der Spalten fest. Die Breite der Spalten muss durch Leerzeichen getrennt angegeben werden. Entweder die Breite jeder Spalte nacheinander angeben, oder mit Repeat |
grid-template-rows | Legt die Höhe und Anzahl der Zeilen fest. Entweder die Höhe jeder Reihe nacheinander angeben, oder mit Repeat |
column-gap | Abstand zwischen den Spalten |
row-gap | Abstand zwischen den Zeilen |
justify-items | richtet alle Elemente eines Grids horizontal aus. |
align-items | richtet alle Elemente eines Grids vertikal aus. |
grid-column | An welcher Position das Element angezeigt wird. Mit / kann von bis angegeben werden. |
grid-row | An welcher Position das Element angezeigt wird. Mit / kann von bis angegeben werden. |
grid-template-areas | Pro Zeile einen String angeben, hier können jeweils die Spalten stehen z.B.: "h h h" "left content right" "footer footer footer" |
grid-area | Hier wird die ID für grid-template-areas angegeben z.B. content |
Werte für columns und rows
| Value | Beschreibung |
|---|---|
auto | Die Breite/Höhe wird an den Inhalt angepasst |
1fr | Der Bereich wird in die gesamte Anzahl der Teile pro Zeile aufgeteilt und danach die Breite der einzelnen Spalten bestimmt. |
px | Feste Längenangabe. Auch andere Feste Werte sind möglich |
repeat(<anzahl>, <breite>) | Es werden <anzahl> Spalten/Reihen mit der angegebenen Breite/Höhe erstellt. Wenn für die Anzahl auto-fill angegeben wird, werden so viele Spalten wie möglich erzeugt. |
minmax(<min>,<max>) | gibt die minimale bzw. maximale Breite einer Spalte an. |
Werte für align und justify
| Wert | Beschreibung |
|---|---|
start | |
end | |
center | |
stretch | |
space-evenly | |
space-around | |
space-between |
Statische Layouts
#container{
display: grid;
grid-template-areas:
"box1 box1"
"box2 box3"
;
}
#element1{
grid-area: box1;
}
#element2{
grid-area: box2;
}
#element3{
grid-area: box3;
}Grid Template Columns
#grid-container {
display: grid;
width: 100px;
grid-template-columns: 20px 20% 60%;
}fr Relative Unit
.grid {
display: grid;
width: 100px;
grid-template-columns: 1fr 60px 1fr;
}Grid Gap
/*The distance between rows is 20px*/
/*The distance between columns is 10px*/
#grid-container {
display: grid;
grid-gap: 20px 10px;
}CSS Block Level Grid
#grid-container {
display: block;
}CSS grid-row
CSS syntax:
- grid-row: grid-row-start / grid-row-end;
Example
.item {
grid-row: 1 / span 2;
}CSS Inline Level Grid
#grid-container {
display: inline-grid;
}minmax() Function
.grid {
display: grid;
grid-template-columns: 100px minmax(100px, 500px) 100px;
}grid-row-start & grid-row-end
CSS syntax:
- grid-row-start: auto|row-line;
- grid-row-end: auto|row-line|span n;
Example
grid-row-start: 2;
grid-row-end: span 2;CSS grid-row-gap
grid-row-gap: length;Any legal length value, like px or %. 0 is the default value
CSS grid-area
.item1 {
grid-area: 2 / 1 / span 2 / span 3;
}Justify Items
#container {
display: grid;
justify-items: center;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}CSS grid-template-areas
.item {
grid-area: nav;
}
.grid-container {
display: grid;
grid-template-areas:
'nav nav . .'
'nav nav . .';
}Justify Self
#grid-container {
display: grid;
justify-items: start;
}
.grid-items {
justify-self: end;
}The grid items are positioned to the right (end) of the row.
Align Items
#container {
display: grid;
align-items: start;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 10px;
}subgrid
.grid {
display: grid;
grid-template-columns: repeat(9, 1fr);
grid-template-rows: repeat(4, minmax(100px, auto));
}
.item {
display: grid;
grid-column: 2 / 7;
grid-row: 2 / 4;
grid-template-columns: subgrid;
grid-template-rows: repeat(3, 80px);
}
.subitem {
grid-column: 3 / 6;
grid-row: 1 / 3;
}