CSS Grid Layout


Indholdsfortegnelse

    Vis indholdsfortegnelse

CSS Grid Layout Module tilbyder et gitterbaseret layoutsystem med rækker og kolonner, der gør det nemmere at designe websider uden at skulle bruge flydere og positionering:

Header

Menu

Main

Right

Footer


Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }

.grid-container {
  display: grid;
  grid-template-areas:
    'header header header header header header'
    'menu main main main right right'
    'menu footer footer footer footer footer';
  gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}
</style>
</head>
<body>

<h1>Grid Layout</h1>

<p>The CSS Grid Layout Module offers a grid-based layout system, with rows and columns, making it easier to design web pages without having to use floats and positioning:</p>

<div class="grid-container">
  <div class="item1">Header</div>
  <div class="item2">Menu</div>
  <div class="item3">Main</div>  
  <div class="item4">Right</div>
  <div class="item5">Footer</div>
</div>

</body>
</html>


Et gitterlayout skal have et overordnet element med egenskaben display sat til grid.

Direkte underordnede elementer i gitterbeholderen bliver automatisk til gitterelementer.

1
2
3
4
5
6
7

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px;
  font-size: 30px;
}

.item1 {
  grid-row: 1;
  grid-column: 1;
}

.item2 {
  grid-row: 1;
  grid-column: 2;
}

.item3 {
  grid-row: 1;
  grid-column: 3;
}

.item4 {
  grid-row: 2;
  grid-column: 1;
}

.item5 {
  grid-row: 2;
  grid-column: 2;
}

.item6 {
  grid-row: 2;
  grid-column: 3;
}

.item7 {
  grid-row: 3;
  grid-column: 1 / span 3;
}
</style>
</head>
<body>

<div class="grid-container">
  <div class="grid-item item1">1</div>
  <div class="grid-item item2">2</div>
  <div class="grid-item item3">3</div>  
  <div class="grid-item item4">4</div>
  <div class="grid-item item5">5</div>
  <div class="grid-item item6">6</div>  
  <div class="grid-item item7">7</div>
</div>

<p>A Grid Layout must have a parent element with the <em>display</em> property set to <em>grid</em>.</p>

<p>Direct child elements(s) of the grid container automatically becomes grid items.</p>

</body>
</html>

Gitterlayout

CSS Grid Layout Module tilbyder et gitterbaseret layoutsystem med rækker og kolonner, der gør det nemmere at designe websider uden at skulle bruge flydere og positionering.


Browser support

Gitteregenskaberne understøttes i alle moderne browsere.

57.0 16.0 52.0 10 44

Gitterelementer

Et gitterlayout består af et overordnet element med et eller flere underordnede elementer.

Eksempel

<div 
  class="grid-container">
  <div class="grid-item">1</div>
  <div 
  class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div 
  class="grid-item">5</div>
  <div class="grid-item">6</div>
  <div class="grid-item">7</div>
  <div 
  class="grid-item">8</div>
  <div class="grid-item">9</div>
</div>

1

2

3

4

5

6

7

8

9

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}
.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>Grid Elements</h1>

<p>A Grid Layout must have a parent element with the <em>display</em> property set to <em>grid</em> or <em>inline-grid</em>.</p>

<p>Direct child element(s) of the grid container automatically becomes grid items.</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>




Vis ejendom

Et HTML-element bliver en gitterbeholder, når dets display-egenskab er indstillet til grid eller inline-grid.

Eksempel

 .grid-container {
  
  display: grid;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>display: grid</h1>

<p>Use display: grid; to make a block-level grid container:</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>


Eksempel

 .grid-container {
  
  display: inline-grid;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: inline-grid;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>display: inline-grid</h1>

<p>Use display: inline-grid; to make an inline grid container:</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>


Alle direkte underordnede af gitterbeholderen bliver automatisk gitterelementer.


Gitterkolonner

De lodrette linjer i gitterelementer kaldes kolonner.


Gitterrækker

De vandrette linjer i gitterelementer kaldes rækker.


Gittergab

Mellemrummene mellem hver kolonne/række kaldes huller.

Du kan justere mellemrummets størrelse ved at bruge en af følgende egenskaber:

  • column-gap
  • row-gap
  • gap

Eksempel

Egenskaben column-gap angiver afstanden mellem kolonnerne:

 .grid-container {
  
  display: grid;
  column-gap: 50px;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  column-gap: 50px;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>The column-gap Property</h1>

<p>Use the <em>column-gap</em> property to adjust the space between the columns:</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>


Eksempel

Egenskaben row-gap angiver afstanden mellem rækkerne:

 .grid-container {
  
  display: grid;
  row-gap: 50px;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  row-gap: 50px;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>The row-gap Property</h1>

<p>Use the <em>row-gap</em> property to adjust the space between the rows:</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>


Eksempel

Egenskaben gap er en stenografi-egenskab for row-gap og column-gap egenskaber:

 .grid-container {
  
  display: grid;
  gap: 50px 100px;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  gap: 50px 100px;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>The gap Property</h1>

<p>Use the <em>gap</em> shorthand property to adjust the space between the columns and rows.</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>


Eksempel

Egenskaben gap kan også bruges til at indstille både rækkemellemrummet og kolonnegab i én værdi:

 .grid-container {
  
  display: grid;
  gap: 50px;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  gap: 50px;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>

<h1>The gap Property:</h1>

<p>Use the <em>gap</em> shorthand property to adjust the space between the columns and rows:</p>

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>

</body>
</html>



Gitterlinjer

Linjerne mellem kolonner kaldes kolonnelinjer.

Linjerne mellem rækker kaldes rækkelinjer.

Se linjenumre, når du placerer et gitterelement i en gitterbeholder:

Eksempel

Placer et gitterelement ved kolonnelinje 1, og lad det ende på kolonnelinje 3:

 .item1 {

    grid-column-start: 1;
  grid-column-end: 3;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}

.item1 {
  grid-column-start: 1;
  grid-column-end: 3;
}
</style>
</head>
<body>

<h1>Grid Lines</h1>

<div class="grid-container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>  
  <div class="item4">4</div>
  <div class="item5">5</div>
  <div class="item6">6</div>
  <div class="item7">7</div>
  <div class="item8">8</div>  
</div>

<p>You can refer to line numbers when placing grid items.</p>

</body>
</html>


Eksempel

Placer et gitterelement ved række linje 1, og lad det ende på række linje 3:

 .item1 {

    grid-row-start: 1;
  grid-row-end: 3;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}

.item1 {
  grid-row-start: 1;
  grid-row-end: 3;
}
</style>
</head>
<body>

<h1>Grid Lines</h1>

<div class="grid-container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>  
  <div class="item4">4</div>
  <div class="item5">5</div>
  <div class="item6">6</div>
  <div class="item7">7</div>
  <div class="item8">8</div>  
</div>

<p>You can refer to line numbers when placing grid items.</p>

</body>
</html>



Alle CSS Grid Properties

column-gap

Angiver mellemrummet mellem kolonnerne

gap

En stenografiegenskab for egenskaberne row-gap og column-gap

grid

En stenografi-egenskab for gitter-skabelon-rækkerne, gitter-skabelon-kolonner, gitter-skabelon-områder, gitter-auto-rækker, grid-auto-columns og egenskaberne grid-auto-flow

grid-area

Enten angiver et navn for grid-elementet, eller denne egenskab er en stenografi-egenskab for grid-row-start, grid-column-start, grid-row -end, og grid-column-end egenskaber

grid-auto-columns

Angiver en standard kolonnestørrelse

grid-auto-flow

Angiver, hvordan automatisk placerede elementer indsættes i gitteret

grid-auto-rows

Angiver en standard rækkestørrelse

grid-column

En stenografiegenskab for egenskaberne grid-column-start og grid-column-end

grid-column-end

Angiver, hvor gitterelementet skal afsluttes

grid-column-gap

Angiver størrelsen af mellemrummet mellem kolonner

grid-column-start

Angiver, hvor gitterelementet skal startes

grid-gap

En stenografiegenskab for egenskaberne grid-row-gap og grid-column-gap

grid-row

En stenografiegenskab for egenskaberne grid-row-start og grid-row-end

grid-row-end

Angiver, hvor gitterelementet skal afsluttes

grid-row-gap

Angiver størrelsen af afstanden mellem rækkerne

grid-row-start

Angiver, hvor gitterelementet skal startes

grid-template

En stenografi-egenskab for gitter-skabelon-rækkerne, gitter-skabelon-kolonnerne og gitterområder egenskaber

grid-template-areas

Angiver, hvordan kolonner og rækker vises ved hjælp af navngivne gitterelementer

grid-template-columns

Angiver størrelsen af kolonnerne, og hvor mange kolonner i et gitterlayout

grid-template-rows

Angiver størrelsen af rækkerne i et gitterlayout

row-gap

Angiver afstanden mellem gitterrækkerne