Właściwość grid-column

Właściwość grid-column ustawia początkową i końcową pozycję elementu w siatce (grid) w kolumnach. Wartościami właściwości mogą być liczby dodatnie lub ujemne, określone przez ukośnik. Pierwsza liczba oznacza pozycję początkową elementu, druga - pozycję końcową.

Jeśli jako wartość podamy liczbę dodatnią, to pozycja elementu jest liczona od lewej do prawej. Przy podaniu liczby ujemnej element będzie umieszczony w odwrotnej kolejności, czyli od prawej do lewej.

Składnia

cssselektor {
  grid-column: pozycja początkowa / pozycja końcowa;
}

Przykład

Ustawmy elementom w siatce pozycje początkowe i końcowe:

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

Результат:

Przykład

A teraz we właściwości grid-column podajmy liczby ujemne:

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

Результат:

Przykład

A teraz zróbmy tak, aby pierwszy, drugi i trzeci element znajdowały się w pierwszym rzędzie. A czwarty element zajmował cały drugi rząd:

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

Результат:

Przykład

Przy nakładaniu się kolumn, zajmowanych przez sąsiednie elementy, każdy kolejny element przesuwa się o rząd niżej. Wykorzystajmy tę cechę, aby pierwszy element umieścić w pierwszym rzędzie, drugi - w drugim, a trzeci i czwarty - w trzecim rzędzie:

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

Результат:

Przykład

Połączmy właściwości 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;
}

Результат:

Przykład

A teraz zróbmy tak, aby pierwszy i piąty blok zajmowały cały rząd, drugi blok - dwa rzędy i dwie kolumny, a trzeci i czwarty blok - jeden rząd i dwie kolumny:

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

Результат:

Zobacz też

  • właściwość grid-row,
    która ustawia początkową i końcową pozycję elementu w siatce w rzędach
  • właściwość grid-column-start,
    która ustawia początkową pozycję elementu w siatce w kolumnach
  • właściwość grid-column-end,
    która ustawia końcową pozycję elementu w siatce w kolumnach
  • właściwość grid-template-columns,
    która ustawia liczbę i szerokość kolumn w siatce
  • właściwość grid-auto-columns,
    która ustawia liczbę i szerokość kolumn w niejawniej siatce