CSS-свойства для grid-элементов
На предыдущем уроке мы рассмотрели все свойства, которые предназначены для grid-контейнера. Настало время познакомиться со списком свойств для grid-элементов.
- grid-row-start, grid-row-end, grid-column-start, grid-column-end
- grid-row, grid-column
- grid-area
- justify-self
- align-self
Свойства grid-row-start, grid-row-end,
grid-column-start, grid-column-end
С помощью этих свойств можно назначить расположение grid-элемента в сетке, ссылаясь на конкретные grid-линии.
Свойствами grid-row-start / grid-column-start определяется grid-линия, в которой начинается grid-элемент, а свойствами grid-row-end / grid-column-end определяется grid-линия, в которой grid-элемент заканчивается.
Значения:
- <line> — число (номер grid-линии) либо имя grid-линии;
span<number> — grid-элемент будет занимать указанное количество grid-путей;span<name> — grid-элемент будет занимать диапазон до grid-линии, имя которой указано в значении;auto— автоматическое размещение.
Схема:
.grid-item {
grid-row-start: <number> или
<name> или
span <number> или
span <name> или
auto
}
/* схема идентична и для остальных трех свойств */
Пример 1
.grid-item {
grid-row-start: row1-start;
grid-row-end: 3;
grid-column-start: 2;
grid-column-end: col4-end;
}

Пример 2
.grid-item {
grid-row-start: 2;
grid-row-end: span 2;
grid-column-start: 1;
grid-column-end: span col4-end;
}

Если свойства grid-row-end / grid-column-end не объявлены, то по умолчанию grid-элемент будет занимать один grid-путь.
Grid-элементы могут перекрывать друг друга. Вы можете использовать свойство z-index для управления порядком их наслоения.
Свойства grid-row и grid-column
Свойства grid-row и grid-column являются краткими записями для свойств grid-row-start + grid-row-end и grid-column-start + grid-column-end соответственно. В качестве значений принимаются те же выражения, что и для обычных версий свойств.
Схема:
.grid-item {
grid-row: <start-line> / <end-line> или
<start-line> / span <value>;
grid-column: <start-line> / <end-line> или
<start-line> / span <value>;
}
Пример
.grid-item {
grid-row: row-line-3 / 4;
grid-column: 3 / span 2;
}

Если конечные точки grid-элемента не заданы, он займет один grid-путь.
Свойство grid-area
С помощью свойства grid-area можно назначать имена grid-элементам, чтобы затем на них можно было ссылаться из шаблона, созданного через свойство grid-template-areas. Также это свойство можно использовать в качестве еще более короткой записи параметров свойств grid-row-start + grid-column-start + grid-row-end + grid-column-end.
Значения:
- <name> — имя (по вашему выбору);
- <row-start> / <column-start> / <row-end> / <column-end> — номера либо имена grid-линий.
Схема:
.grid-item {
grid-area: <name> или
<row-start> / <column-start> / <row-end> / <column-end>;
}
Пример 1
Присвоение имени grid-элементу:
.grid-item {
grid-area: header;
}
Пример 2
Использование свойства в качестве короткой записи значений свойств grid-row-start, grid-column-start, grid-row-end и grid-column-end:
.grid-item {
grid-area: 1 / col4-start / last-line / 6;
}

Свойство justify-self
Свойство justify-self выравнивает содержимое grid-элемента вдоль оси строки. Это значение применяется к содержимому внутри одного grid-элемента.
Значения:
stretch(значение по умолчанию) — содержимое заполняет всю ширину grid-элемента;start— содержимое прижимается к левому краю grid-элемента;end— содержимое прижимается к правому краю grid-элемента;center— содержимое выравнивается по центру grid-элемента.
.grid-item {
justify-self: stretch;
}

.grid-item {
justify-self: start;
}

.grid-item {
justify-self: end;
}

.grid-item {
justify-self: center;
}

Чтобы задать выравнивание содержимого вдоль оси строки для всех grid-элементов сразу, используйте свойство justify-items для grid-контейнера.
Свойство align-self
Свойство align-self выравнивает содержимое grid-элемента вдоль оси столбца. Это значение применяется к содержимому внутри одного grid-элемента.
Значения:
stretch(значение по умолчанию) — содержимое заполняет всю высоту grid-элемента;start— содержимое прижимается к верхнему краю grid-элемента;end— содержимое прижимается к нижнему краю grid-элемента;center— содержимое выравнивается по центру grid-элемента.
.grid-item {
align-self: stretch;
}

.grid-item {
align-self: start;
}

.grid-item {
align-self: end;
}

.grid-item {
align-self: center;
}

Чтобы задать выравнивание содержимого вдоль оси столбца для всех grid-элементов сразу, используйте свойство align-items для grid-контейнера.
Итоги
Поздравляем с завершением краткого курса по CSS Grid Layout! Несмотря на то, что по состоянию на конец 2017 года данный модуль еще не сильно распространен, рекомендуем попрактиковаться в работе с ним, поскольку убеждены: эти знания вам вскоре очень пригодятся.
А дальше вас ждет последний, заключительный урок нашего учебника по CSS, который посвящен совершенствованию навыков работы с каскадными таблицами стилей. Урок содержит советы по организации CSS-таблиц и другие полезные рекомендации.