grid
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
Die grid
CSS Eigenschaft ist eine Kurzschreibweise, die alle expliziten und impliziten Gittereigenschaften in einer einzigen Deklaration festlegt.
Mit grid
geben Sie eine Achse unter Verwendung von grid-template-rows
oder grid-template-columns
an, und dann spezifizieren Sie, wie der Inhalt auf der anderen Achse automatisch wiederholt werden soll, indem Sie die impliziten Gittereigenschaften verwenden: grid-auto-rows
, grid-auto-columns
und grid-auto-flow
.
Probieren Sie es aus
Hinweis: Die Teil-Eigenschaften, die Sie nicht spezifizieren, werden auf ihren Initialwert gesetzt, wie es bei Kurzschreibweisen üblich ist. Außerdem werden die Zwischenraum-Eigenschaften von dieser Kurzschreibweise NICHT zurückgesetzt.
Bestandteileigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:
Syntax
/* <'grid-template'> values */
grid: none;
grid: "a" 100px "b" 1fr;
grid: [line-name1] "a" 100px [line-name2];
grid: "a" 200px "b" min-content;
grid: "a" minmax(100px, max-content) "b" 20%;
grid: 100px / 200px;
grid: minmax(400px, min-content) / repeat(auto-fill, 50px);
/* <'grid-template-rows'> /
[ auto-flow && dense? ] <'grid-auto-columns'>? values */
grid: 200px / auto-flow;
grid: 30% / auto-flow dense;
grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;
/* [ auto-flow && dense? ] <'grid-auto-rows'>? /
<'grid-template-columns'> values */
grid: auto-flow / 200px;
grid: auto-flow dense / 30%;
grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
grid: auto-flow dense 40% / [line1] minmax(20em, max-content);
/* Global values */
grid: inherit;
grid: initial;
grid: revert;
grid: revert-layer;
grid: unset;
Werte
<'grid-template'>
-
Definiert das
grid-template
einschließlichgrid-template-columns
,grid-template-rows
undgrid-template-areas
. <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
-
Richtet einen automatischen Fluss ein, indem die Zeilen mit der
grid-template-rows
Eigenschaft explizit festgelegt werden (und diegrid-template-columns
Eigenschaft aufnone
gesetzt wird) und spezifiziert, wie die Spalten mitgrid-auto-columns
automatisch wiederholt werden sollen (undgrid-auto-rows
aufauto
gesetzt wird). Auchgrid-auto-flow
wird entsprechend aufcolumn
gesetzt, mitdense
, falls es angegeben wird.Alle anderen
grid
Teil-Eigenschaften werden auf ihre Initialwerte zurückgesetzt. [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
-
Richtet einen automatischen Fluss ein, indem die Spalten mit der
grid-template-columns
Eigenschaft explizit festgelegt werden (und diegrid-template-rows
Eigenschaft aufnone
gesetzt wird) und spezifiziert, wie die Zeilen mitgrid-auto-rows
automatisch wiederholt werden sollen (undgrid-auto-columns
aufauto
gesetzt wird). Auchgrid-auto-flow
wird entsprechend aufrow
gesetzt, mitdense
, falls es angegeben wird.Alle anderen
grid
Teil-Eigenschaften werden auf ihre Initialwerte zurückgesetzt.
Formale Definition
Anfangswert | wie die jeweiligen Kurzschreibweisen:
|
---|---|
Anwendbar auf | Gridcontainer |
Vererbt | Nein |
Prozentwerte | wie die jeweiligen Kurzschreibweisen:
|
Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
Animationstyp | wie die jeweiligen Kurzschreibweisen:
|
Formale Syntax
grid =
<'grid-template'> |
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? |
[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
<grid-template> =
none |
[ <'grid-template-rows'> / <'grid-template-columns'> ] |
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
<grid-template-rows> =
none |
<track-list> |
<auto-track-list> |
subgrid <line-name-list>?
<grid-auto-columns> =
<track-size>+
<grid-auto-rows> =
<track-size>+
<grid-template-columns> =
none |
<track-list> |
<auto-track-list> |
subgrid <line-name-list>?
<line-names> =
'[' <custom-ident>* ']'
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,∞]> )
<explicit-track-list> =
[ <line-names>? <track-size> ]+ <line-names>?
<track-list> =
[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?
<auto-track-list> =
[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat> [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?
<line-name-list> =
[ <line-names> | <name-repeat> ]+
<track-breadth> =
<length-percentage [0,∞]> |
<flex [0,∞]> |
min-content |
max-content |
auto
<inflexible-breadth> =
<length-percentage [0,∞]> |
min-content |
max-content |
auto
<length-percentage> =
<length> |
<percentage>
<track-repeat> =
repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )
<fixed-size> =
<fixed-breadth> |
minmax( <fixed-breadth> , <track-breadth> ) |
minmax( <inflexible-breadth> , <fixed-breadth> )
<fixed-repeat> =
repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
<auto-repeat> =
repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
<name-repeat> =
repeat( [ <integer [1,∞]> | auto-fill ] , <line-names>+ )
<fixed-breadth> =
<length-percentage [0,∞]>
Beispiele
Erstellung eines Grid-Layouts
HTML
<div id="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
#container {
display: grid;
grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
width: 50px;
height: 50px;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Grid Layout Module Level 2 # grid-shorthand |
Browser-Kompatibilität
BCD tables only load in the browser