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
selektor {
grid-column: pozycja początkowa / pozycja końcowa;
}
Przykład
Ustawmy elementom w siatce pozycje początkowe i końcowe:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#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:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#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:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#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:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#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:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#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:
<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>
#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