Vlastnosť grid-column

Vlastnosť grid-column určuje počiatočnú a koncovú pozíciu prvku v grid-e alebo mriežke podľa stĺpcov. Hodnotami vlastnosti môžu byť kladné alebo záporné čísla, uvedené cez lomku. Prvé číslo označuje počiatočnú pozíciu prvku, druhé - koncovú pozíciu.

Ak ako hodnotu zadáme kladné číslo, potom sa pozícia prvku počíta zľava doprava. Pri uvedení záporného člena sa prvok umiestni v opačnom poradí, t.j. sprava doľava.

Syntax

cssselektor {
  grid-column: počiatočná pozícia / koncová pozícia;
}

Príklad

Nastavme prvkom v grid-e počiatočné a koncové pozície:

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;
}

Результат:

Príklad

A teraz vo vlastnosti grid-column uvedieme záporné čísla:

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;
}

Результат:

Príklad

A teraz urobme tak, aby prvý, druhý a tretí prvok boli umiestnené v prvom rade. A štvrtý prvok zaberá celý druhý rad:

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;
}

Результат:

Príklad

Pri prekrytí stĺpcov, ktoré zaberajú susedné prvky, každý nasledujúci prvok sa posunie o rad nižšie. Využime túto vlastnosť na to, aby sa prvý prvok umiestnil v prvom rade, druhý - v druhom, a tretí a štvrtý - v treťom rade:

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;
}

Результат:

Príklad

Spojme vlastnosti grid-column a 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;
}

Результат:

Príklad

A teraz urobme tak, aby prvý a piaty blok zaberali celý rad, a druhý blok - dva rady a dve stĺpce, a tretí a štvrtý blok - jeden rad a dve stĺpce:

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;
}

Результат:

Pozri tiež

  • vlastnosť grid-row,
    ktorá určuje počiatočnú a koncovú pozíciu prvku v grid-e podľa radov
  • vlastnosť grid-column-start,
    ktorá určuje počiatočnú pozíciu prvku v grid-e podľa stĺpcov
  • vlastnosť grid-column-end,
    ktorá určuje koncovú pozíciu prvku v grid-e podľa stĺpcov
  • vlastnosť grid-template-columns,
    ktorá určuje počet a šírku stĺpcov v grid-e
  • vlastnosť grid-auto-columns,
    ktorá určuje počet a šírku stĺpcov v implicitnom grid-e