Lav et grid med tre kolonner, som er lige brede vha. grid-template-columns
og fr
-enheder. Tilføj lidt mellemrum vha. gap: 10px
.
Hints
-
display
-
grid-template-columns
-
gap
-
grid
-
1fr

Lav et grid med tre kolonner, som er lige brede vha. grid-template-columns
og fr
-enheder. Tilføj lidt mellemrum vha. gap: 10px
.
display
grid-template-columns
gap
grid
1fr
Lav tre kolonner, hvor den midterste ikke må fylde mere end dens tekstindhold vha. auto
(se reference). De to øvrige kolonner skal dele resten af den overskydende plads.
grid-template-columns
1fr
auto
Lav tre lige brede kolonner, samt fire rækker, som hver er 50px
(brug grid-auto-rows
). .box-2
skal spænde over to rækker og to kolonner og begynde på række 2 i kolonne 2.
grid-auto-rows
grid-column
grid-row
span <n>
Giv .container
en højde på 250px
vha. height
. Definér derefter to kolonner af 1fr 1.5fr
og brug gap
til at indstille mellemrum mellem boksene. Tilføj derefter tre bokse, og se hvordan boksene former et flag.
height
gap
Lav fire lige brede kolonner som hver fylder lige meget (1fr
) vha. repeat()
-funktionen. Lad .box-1
spænde over 2 rækker og 2 kolonner, og lad .box-4
spænde over 2 rækker. Du kan evt. tilføje gap, for at lave mellemrum mellem boksene.
Tilføj derefter et par bokse for at se, hvordan disse lægger sig i grid’et. Træk i vinduet med dine bokse (nederst i højre hjørne ) for at se, hvordan boksene opfører sig i forskellige størrelser.
grid-column
grid-row
gap
repeat(<n>, <x>)
Lav fire lige brede kolonner samt fire rækker af 50px
(brug grid-auto-rows
). Hver boks skal spænde over to rækker og to kolonner og skal overlappe hinanden (se reference). Placér boksene vha. linjenumrene i dit grid; fx 1 / 3
.
Tilføj derefter seks bokse for at se, hvordan disse lægger sig i grid’et. Du kan evt. indstille gap
til 10px
, for at lave mellemrum mellem boksene.
grid-column
grid-row
gap
Lav tre kolonner, hvor den første og sidste kolonne optager lige meget plads vha. 1fr
. Angiv en rækkevidde mellem 0
(min) og 300px
(max) via funktionen minmax()
til den midterste kolonne. .box-1
skal begynde på kolonne-linje 1 og slutte på kolonne-linje 4, og .box-2
skal begynde på kolonne-linje 2 og slutte på kolonne-linje 3.
Træk i vinduet med dine bokse (nederst i højre hjørne ) for at se, hvordan grid’et opfører sig i forskellige størrelser. .box-2
skal forblive 300px
i bredden, indtil der ikke er mere plads, hvorefter den skal følge forælder-containerens bredde (se reference).
grid-template-columns
minmax(<min>, <max>)
Gør .container
til en grid-container, og brug derefter place-content
til at placere .box-1
i midten containeren.
Placér derefter .box-1
forskellige steder i containeren vha. start
, end
og stretch
.
place-content
kan håndtere to værdier.
place-content
center
Gør .container
til en grid-container og lav to kolonner, der er lige brede. Brug derefter place-self
til at placere .box-2
hhv. i midten på den vertikale akse og i starten af den horisontale akse.
place-self
kan håndtere to værdier (den vertikale akse og den horisontale akse).
place-self
center
start
Gør .container
til en grid-container, og lad alle bokse dække samme grid-celle ved at sætte grid-column
og grid-row
til 1
på .box
. Brug derefter place-self
til at placere boksene i hvert hjørne af containeren. Begynd med .box-5
.
place-self
kan håndtere to værdier.
place-self
center
start
end
Definér et grid med tre kolonner og tre rækker (grid-template-rows
). Den midterste kolonne-celle skal være tre gange så stor som de to øvrige vha. 3fr
. Første og sidste række skal optage lige meget plads vha. 1fr
, hvorimod den midterste række skal være auto
. Tilføj derefter gap: 10px
.
Lad img
spænde over alle rækker og kolonner, og placér efterfølgende .box-1
, så den ligger i midsterste grid-celle. De to øvrige bokse skal ligge i hhv. første og sidste række og være placeret, så de ligger sig tæt op af .box-1
(se reference).
grid-template-rows
place-self
Definér et grid med tre rækker, der repræsenterer hhv. en <header>
, <main>
og <footer>
.
main
skal have en fleksibel højde, så den kan vokse med indholdet, og højden på header
og footer
skal defineres af indholdet vha. min-content
.
Træk derefter i vinduet med dine bokse (nederst i højre hjørne ) for at se, hvordan header
og footer
altid er placeret hhv. øverst og nederst i grid’et.
(NB! I et rigtigt projekt, kræver effekten at body-elementet har en minimumshøjde på 100% af viewporten, fx min-height: 100svh
).
grid-template-rows
min-content
Definér et grid med tre rækker og lad .box-1
spænde over alle tre. Brug derefter grid-auto-flow
til at generere yderligere to kolonner med de resterende bokse.
grid-auto-flow
Definér et grid med to kolonner, og sørg for, at alle bokse (.box
) strækker sig over to rækker. .box-1
skal starte på række-linje 2 i grid’et.
Fordi vi ønsker at lade .box-1
starte på en bestemt position uden at ændre de andre bokses startpunkter, bruger vi grid-row-end: span 2
. Dette sikrer, at hver boks strækker sig over to rækker fra sin naturlige startposition, mens .box-1
specifikt placeres i anden række ved hjælp af grid-row-start
.
Husk også at sætte aspect-ratio
til 3/2
.
Når vinduet justeres i højden, skal indholdet altid være centreret i containeren ved hjælp af align-content
.
grid-row-start
grid-row-end
align-content
span 2
Få boksene til at definere, hvor mange kolonner der skal være i containeren, ved at bruge repeat()
og auto-fit
eller auto-fill
. Brug minmax()
til at definere en minimums- og maksimumsbredde på boksene, hhv. 80px
og 1fr
, hvilket vil resultere i lige så mange “tracks” som der kan være i containeren med en minimumsstørrelse på 80px.
Med auto-fit
og auto-fill
kan man styre, hvordan den overskydende plads skal allokeres i en grid-container. Hvis man bruger auto-fit
vil boksene udvides, så de fylder hele containeren. Hvis man bruger auto-fill
vil containeren allokere det overskydende rum i form af tomme “tracks”, som ikke indeholder bokse.
repeat()
minmax()
auto-fit
auto-fill
Tilføj linjenavne til grid-kolonnerne, så elementerne placeres korrekt.
Brug linjenavnene [a-start]
og [a-end]
, [b-start]
og [b-end]
samt [c-start]
og [c-end]
til at angive, hvor hver kolonne begynder og slutter ved at placere dem før og efter de relevante kolonner. Bemærk, at når du tilføjer -start
og -end
til linjenavne, bliver der automatisk oprettet et navngivet område baseret på det navn, du har valgt.
Se referencen ift., hvordan linjenavnene skal placeres for at opnå den ønskede placering af boksene i grid’et.
[a-start] 2fr
2fr [a-end]
Tilføj grid-template-areas
til grid’et, så elementerne placeres korrekt.
Brug navnene a
, b
, c
, d
og e
til at angive, hvor hvert område skal være i grid’et. Nogle af områderne skal strække sig over flere kolonner, så husk at gentage det samme områdenavn, hvor det er nødvendigt.
Se referencen ift., hvordan områderne skal placeres for at opnå det ønskede layout af boksene i grid’et.
grid-template-areas
"a a b b" "c d d d"