Svojstvo grid-column

Svojstvo grid-column zadaje početnu i krajnju poziciju elementa u gridu ili mreži po kolonama. Vrednostima svojstva mogu biti pozitivni ili negativni brojevi, navedeni kroz kosu crtu. Prvi broj označava početnu poziciju elementa, drugi - krajnju poziciju.

Ako kao vrednost zadajemo pozitivan broj, onda se pozicija elementa računa s leva na desno. Pri navođenju negativnog broja element će biti pozicioniran obrnutim redosledom, tj. s desna na levo.

Sintaksa

cssselektor {
  grid-column: početna pozicija / krajnja pozicija;
}

Primer

Hajde da zadamo elementima u gridu početne i krajnje pozicije:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-column: 1 / 2;
}
#elem2 {
  grid-column: 1 / 3;
}
#elem3 {
  grid-column: 1 / 4;
}

Результат:

Primer

A sada hajde u svojstvu grid-column da navedemo negativne brojeve:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-column: 1 / -2;
}
#elem2 {
  grid-column: 1 / -3;
}
#elem3 {
  grid-column: 1 / -4;
}

Результат:

Primer

A sada hajde da napravimo da prvi, drugi i treći element budu pozicionirani u prvom redu. A četvrti element da zauzme ceo drugi red:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-column: 1 / 2;
}
#elem2 {
  grid-column: 2 / 3;
}
#elem3 {
  grid-column: 3 / 4;
}
#elem4 {
  grid-column: 1 / 4;
}

Результат:

Primer

Pri preklapanju kolona koje zauzimaju susedni elementi, svaki naredni element se pomera na red ispod. Hajde da pomoću ove karakteristike napravimo da se prvi element pozicionira u prvom redu, drugi - u drugom, a treći i četvrti - na trećem redu:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-column: 1 / 4;
}
#elem2 {
  grid-column: 2 / 3;
}
#elem3 {
  grid-column: 1 / 2;
}
#elem4 {
  grid-column: 3 / 4;
}

Результат:

Primer

Hajde da kombinujemo svojstva grid-column i grid-row:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  height: 300px;
  width: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row: 1 / 3;
}
#elem2 {
  grid-row: 1 / 2;
}
#elem3 {
  grid-row: 1 / 2;
}
#elem4 {
  grid-row: 2 / 3;
  grid-column: 2 / 4;
}

Результат:

Primer

A sada hajde da napravimo da prvi i peti blok zauzimaju ceo red, a drugi blok - dva reda i dve kolone, a treći i četvrti blok - jedan red i dve kolone:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
  <div id="elem5">5</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  height: 300px;
  width: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row: 1 / 2;
  grid-column: 1 / 4;
}
#elem2 {
  grid-row: 2 / 4;
  grid-column: 1 / 2;
}
#elem3 {
  grid-row: 2 / 3;
  grid-column: 2 / 4;
}
#elem4 {
  grid-row: 3 / 3;
  grid-column: 2 / 4;
}
#elem5 {
  grid-row: 4 / 5;
  grid-column: 1 / 4;
}

Результат:

Pogledajte takođe

  • svojstvo grid-row,
    koje zadaje početnu i krajnju poziciju elementa u gridu po redovima
  • svojstvo grid-column-start,
    koje zadaje početnu poziciju elementa u gridu po kolonama
  • svojstvo grid-column-end,
    koje zadaje krajnju poziciju elementa u gridu po kolonama
  • svojstvo grid-template-columns,
    koje zadaje broj i širinu kolona u gridu
  • svojstvo grid-auto-columns,
    koje zadaje broj i širinu kolona u implicitnom gridu