Подробно о размещении элементов в грид-раскладке (css grid layout)
Содержание:
- Элементы на несколько полос
- Испытание 1. Размещение разделов страницы
- Другие примеры
- Создание простого макета
- Автоматические ряды
- Описание и примеры¶
- Гибкие гриды
- Почему важно правильно оформлять титульный лист для проектов
- Общая инструкция по удалению «учетки» на госпортале
- Если сеть скрыта
- CSS Advanced
- Синтаксис:
- More Examples
- CSS Reference
- CSS Properties
- Значения¶
- Сравнение с Flexbox
- Области шаблона
- CSS Advanced
- Плотная упаковка
- Другие настройки
- Ваша первая сетка
- Заключение
Элементы на несколько полос
Как я отметил ранее, некоторые элементы охватывают несколько полос. Для этого мы можем использовать прием с . Картинки у нас охватывают одно и то же число полос при всех размерах экранов. Но вот информация о товаре охватывает 3 колонки на средних экранах и 2 колонки в остальных диапазонах. Поэтому мы применяем к ним . Остальные элементы используют .
.wide-2 { grid-column-end: span 2; } .tall-2 { grid-row-end: span 2; } @media screen and (min-width: 30em) and (max-width: 60em) { .wide-3-m { grid-column-end: span 3; } }
See the Pen Aldo Style Product Grid (CSS Grid) STEP 2 for blogpost by Varun Vachhar (@winkerVSbecks) on CodePen.
Хотите узнать больше об автоматическом размещении? Вот потрясающие туториал и наглядный пример Рэйчел Эндрю.
Испытание 1. Размещение разделов страницы
Решение на Flexbox
Добавляем display: flex к контейнеру и задаём направление дочерних элементов по вертикали. Это позиционирует все разделы друг под другом.
Теперь нам нужно сделать так, чтобы основной раздел и боковая панель располагались рядом. Поскольку flex-контейнеры обычно однонаправлены, нам нужно добавить дополнительный элемент.
Затем мы устанавливаем этому элементу display: flex и flex-direction с противоположным направлением.
Последний шаг — задать размеры основного раздела и боковой панели. Мы хотим, чтобы основное содержимое было в три раза шире боковой панели, что несложно сделать с помощью flex или процентов.
Как вы можете видеть, Flexbox сделал всё хорошо, но нам кроме этого понадобилось довольно много свойств CSS плюс дополнительный элемент HTML. Давайте посмотрим, как будет работать CSS Grid.
Решение на CSS Grid
Существует несколько вариантов использования CSS Grid, но мы воспользуемся синтаксисом grid-template-areas, как наиболее подходящего для наших целей.
Сперва мы определим четыре grid-area, по одному на каждый раздел страницы:
Теперь мы можем настроить нашу сетку и определить расположение каждой области. Вначале код может показаться довольно сложным, но как только вы познакомитесь с системой сетки, он становится проще для понимания.
Вот и всё! Наш макет теперь будет соответствовать указанной выше структуре и мы его настроили так, что нам не придётся иметь дело с margin или padding.
Другие примеры
Пример
Укажите две строки, где «Item1» охватывает первые два столбца в первых двух строках (в макете сетки из пяти столбцов):
.item1 { grid-area: myArea;}.grid-container { display: grid; grid:
‘myArea myArea . . .’ ‘myArea myArea . . .’;}
Пример
Назовите все элементы и сделайте готовый к использованию шаблон веб-страницы:
.item1 { grid-area: header; }.item2 { grid-area:
menu; }.item3 { grid-area:
main; }.item4 { grid-area:
right; }.item5 { grid-area:
footer; }.grid-container { display: grid; grid:
‘header header header header header’
‘menu main main main right right’ ‘menu footer footer
footer footer’;}
Создание простого макета
Теперь, научившись создавать сетку и располагать на ней элементы, давайте создадим простой макет. Мы не будем представлять здесь какие-либо концепции. Мы просто воспользуемся сокращенным указанием свойств grid-row и grid-column чтобы вручную разместить такие элементы, как хедер, футер и так далее.
Вот наш HTML:
А вот CSS:
Вот результат на Codepen
Сейчас самое время попробовать настройку «показать номера линий» в панели Firefox CSS Grid Layout. Просмотрите таким образом приведенный выше результат и выберите панель макета. Тут вы можете активировать наложение сетки и отметить «показывать номера линий». Удобно, правда? Этот инструмент облегчает визуализацию вашей сетки при позиционировании элементов.
Автоматические ряды
В предыдущем примере кода вы могли обратить внимание на. Это дает браузеру команду автоматически генерировать ровно столько рядов, сколько нужно, чтобы уместить все элементы
Так что если мы добавим еще элементов, он добавит еще рядов, и наоборот. Значение — то, какой высоты ряды нам нужны.
Пример на CodePen ниже показывает, как будет выглядеть наш грид на данный момент. Откройте его в режиме редактирования, чтобы увидеть, как работает расширение и сужение окна, а также что происходит при добавлении и удалении
See the Pen Aldo Style Product Grid (CSS Grid) STEP 1 for blogpost by Varun Vachhar (@winkerVSbecks) on CodePen.
На заметку
Вы обратили внимание, что нам не пришлось размещать элементы в гриде?! Если не указывать положение, то браузер размещает элементы в гриде автоматически. Это называется авторазмещением
Описание и примеры¶
Когда вы оставляете пустое пространство между значениями треков, линиям сетки автоматически присваиваются числовые имена:
Но вы можете называть линии явно
Обратите внимание на синтаксис для их названия:
Обратите внимание на то что у линии может быть несколько названий. Например, здесь у второй линии будет два названия: и :. Если в вашем определении содержатся повторяющиеся части, то можно использовать нотацию :
Если в вашем определении содержатся повторяющиеся части, то можно использовать нотацию :
Тоже самое что и:
Единица позволяет вам настраивать размер треков как часть свободного пространства в контейнере. Вот пример, который устанавливает каждому элементу одну третью ширины контейнера.
Свободное пространство высчитывается после вычисления всех фиксированных элементов. В этом примере, общее количество свободного пространства для единиц не будет включать в себя 50px.
Гибкие гриды
Можно определить и грид с гибкими размерами полос. Или даже с фиксированными и гибкими полосами одновременно! (См. пример ниже.) Значения в процентах тут относятся к процентам от грид-контейнера.
.my-weird-but-flexible-grid { display: grid; grid-template-columns: 20px 5% 80px 40%; grid-template-rows: 4rem 2vh 12% 80px 20em; } .my-weird-but-flexible-grid +-+--+----+----------------------+ | | | | | | +-+--+----+-----------------+ | +-+--+----+-----------------+ | | | | | | | | | | | | | +-+--+----+-----------------+ | | | | | | | +-+--+----+-----------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+--+----+-----------------+ | | | | | | | | | | | +--------------------------------+
Гибкий грид, где мы намешали разных единиц для размеров полос — пиксели, проценты, единицы вьюпорта и em-ы.
Почему важно правильно оформлять титульный лист для проектов
Независимо какой тип проектной работы пишется, важно чтобы были соблюдены правила относительно оформления титульного листа. Все дело в том, что это не просто прихоть, а необходимость
Благодаря наличию титульной страницы можно узнать такую информацию:
- авторство проектной работы;
- кураторство;
- тип проекта;
- тему выполненной работы;
- дату и место создания.
Последний пункт имеет важное значение, поскольку благодаря указанию даты предоставляет возможность создания архивов, где будут храниться обозначенные проектные работы
Правила оформления титульного листа
Изначально нужно сказать, что наиболее удобным для написания проекта будет использование программы Microsoft Office Word. Но может кому-то будет привычней выполнять написание в другой программе. Хотя правила оформления все равно остаются неизменными.
Основными из них считаются:
- Обязательно должен выставляться шрифт Times New Roman 16.
- Написание названий выполняются по средине листа, установив выравнивание по центру.
- Наименование учреждений, авторство пишутся без любых сокращений и аббревиатур.
- Непременно должна выставляться разметка страницы с соответствующими значениями. (15 мм. сверху и снизу, от правого края 10 мм, а с левого края отступ 20 мм.). Обозначенные параметры страницы позволяют придать титульной странице проекта презентабельный вид, а отступ от левого края предоставляет возможность в дальнейшем скрепить проектную работу.
- Тип проекта отмечается на оформляемом листе прописывается шрифтом, размер которого должен составлять 24м.
- Название самого проекта также пишется по средине, но используется размер шрифта – 28м.
Нюансы, которые непременно должны быть учтены
Помимо правил, также нужно учитывать и другие не менее важные нюансы при оформлении титульного листа для любого вида проекта. К ним причисляются:
- Несмотря на то, что титульный лист считается самостоятельной страницей, но он не нумеруется.
- Непременно должны соблюдаться отступы от верхнего и нижнего края, и они должны составлять 3 сантиметра.
- Между отмеченной информацией об учебном заведении или научном учреждении и непосредственно указанием темы проекта должен быть соблюден отступ размером 8 сантиметров.
- Тема, предмет проекта, а также тип работы пишется без кавычек и точек в конце написанной строки.
В правом нижнем углу должна быть указана информация об исполнителе проекта, а также здесь указывается и должность научного руководителя.
Особенности оформления титульного листа
Помимо утвержденных правил и наличия нюансов также имеется ряд особенностей, которые обязательно должны быть соблюдены. Основными из них считаются:
- титульный лист должен оформляться непосредственно на листе А4;
- промежуток между строчками – 1,5;
- отступ от левого края – 20 мм;
- верхнее и нижнее поле -15 мм;
- отступ правого поля – 10 мм;
- в нижнем крае листа пишется город и год выполнения работы (год пишется только цифрами) – шрифтом 11 или 12.
В основном представленные правила, нюансы и особенности оформления титульного листа для проекта имеют общий характер. Но к примеру, для школьного проекта, если куратором не было указано никаких пометок относительно соблюдения правил, то можно проявить творческий подход. Зачастую такое оформление разрешается детям начальных классов.
А вот, если проектная работа имеет серьезных характер, то соблюдение правил является крайне важным показателем. Также нужно обозначить, что выполняя работу на серьезные темы студенты высших учебных заведений должны указывать в верхней части титульного листа то или иное министерство государства, к которому имеет непосредственное отношение учебное заведение.
Как оформляется титульный лист презентационного проекта
Следует отметить, что проекты могут выполняться не только на бумаге, распечатав на ней выполненную работу. Также можно создавать презентации на компьютере используя программу PowerPoint.
Электронный вариант проекта тоже имеет ряд правил, нюансов и особенностей при оформлении титульного листа, которые необходимо рассмотреть более подробно:
- Нежелательно использовать яркие краски для оформления. Наилучшим будет применение белого или нейтрального фона для титульного листа.
- Крайне не рекомендуется применять звуковые спецэффекты.
- В качестве совета можно использовать шрифт для заголовков размером 30, а для обычного текста – кегль 22.
- Титульный лист и остальные слайды должны размещаться в горизонтальном положении.
- Презентационная работа должна состоять не более, чем из 15 слайдов вместе с титульным листом.
Подводя итог, хочется сказать, что для принятия проекта хотя бы на рассмотрение обязательно нужно чтобы титульный лист был правильно оформлен. Не зря имеется поговорка – «Что встречают по одежке, а…». Такое сравнение можно отнести и к выполнению проектной работы. Поскольку довольно часто работа может быть отклонена лишь потому, что титульный лист имеет несоответствие относительно правил оформления.
Поэтому крайне важно отнестись внимательно к одному из важнейших пунктов при оформлении проектной работы. Если куратором не было обозначено соблюдение правил, то можно просмотреть информацию по ГОСТу, где подробно указывается требования для выполнения подобных проектных работ
Общая инструкция по удалению «учетки» на госпортале
Госуслуги – это удобный и многофункциональный сервис, позволяющий выполнять разные манипуляции. Пользователь за несколько минут сможет подать любое заявление или оплатить госпошлину со скидкой, зарезервировать талончик к врачу или уточнить информацию по пенсионным начислениям.
Удаление аккаунта на портале является одной из возможностей, доступных зарегистрированным пользователям. Структура сайта достаточно удобна и интуитивно понятна, чтобы выполнить все действия за короткое время. Для выполнения необходимых действий не потребуется предъявлять или отсылать дополнительные сведения, документы. Достаточно воспользоваться ранее установленным паролем от аккаунта. Итак, чтобы стереть все личные данные и удалить «учетку», потребуется выполнить простые действия:
- Авторизоваться в системе и выбрать «Личный кабинет». Для этого, достаточно навести курсор на свое имя.
- На открывшейся страничке будут данные о пользователе и документах. Здесь же будут расположены «Данные и контакты». Необходимо выбрать эту ссылку.
- Перейти в «Настройки учетной записи», а потом, слева найти «Безопасность».
- Внизу представленного перечня будет раздел «Удалить учетную запись».
- Потребуется заново указать пароль и кликнуть по «Удалить».
На этом этапе еще существует возможность приостановить, а потом и отменить процесс. Если этого не сделать, то после подтверждения, данные будут удалены с госпортала. На почтовый ящик пользователя поступить соответствующее уведомление.
Если сеть скрыта
Подключение к скрытой сети возможно только в том случае, если известны базовые сведения о ней. Для выполнения процедуры понадобится совершить следующие действия:
- открыть стандартное приложение «Настройки»;
- перейти в раздел «Сеть и Интернет»;
- зайти в подраздел «Wi-Fi»;
- в нижней части экрана нажать «Добавить сеть»;
- ввести ее название;
- указать тип безопасность;
- при необходимости ввести пароль.
Тип безопасности можно посмотреть на корпусе роутера или странице его настроек. Можно подключаться не только с помощью названия доступной сети, но и путем введения IP-адреса или прокси-сервера.
CSS Advanced
CSS Rounded CornersCSS Border ImagesCSS BackgroundsCSS ColorsCSS Gradients
Linear Gradients
Radial Gradients
CSS Shadows
Shadow Effects
Box Shadow
CSS Text EffectsCSS Web FontsCSS 2D TransformsCSS 3D TransformsCSS TransitionsCSS AnimationsCSS TooltipsCSS Style ImagesCSS object-fitCSS ButtonsCSS PaginationCSS Multiple ColumnsCSS User InterfaceCSS Variables
The var() Function
Overriding Variables
Variables and JavaScript
Variables in Media Queries
CSS Box SizingCSS Media QueriesCSS MQ ExamplesCSS Flexbox
CSS Flexbox
CSS Flex Container
CSS Flex Items
CSS Flex Responsive
Синтаксис:
CSS синтаксис:
grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end | itemname;; // возможные значения grid-column-start: "auto | line | line-name | span line | initial | inherit"; grid-column-end: "auto | line | line-name | span line | initial | inherit"; grid-row-start: "auto | line | line-name | span line | initial | inherit"; grid-row-end: "auto | line | line-name | span line | initial | inherit"; itemname: произвольное имя элемента // значение указывается без кавычек !!! // с указанием одного значения grid-area: grid-row-start; grid-area: itemname;; // с указанием двух значений grid-area: grid-row-start / grid-column-start; // с указанием трех значений grid-area: grid-row-start / grid-column-start / grid-row-end; // с указанием четырех значений grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end; /* используя ключевое слово auto */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* значение по умолчанию */ /* позиция элемента указывается в соответствии с начальной и конечной гранью элемента */ grid-area: 1; grid-area: 1 / 5; grid-area: 1 / 5 / 3; grid-area: 1 / 5 / 3 / 7; /* позиция элемента указывается в соответствии с заданным именем столбца */ grid-area: line-name; grid-area: line-name / line-name; grid-area: line-name / line-name / line-name; grid-area: line-name / line-name / line-name / line-name; /* используя ключевое слово span */ grid-area: span 2; grid-area: 1 / span2; grid-area: span 2 / 5; grid-area: line-name / span2; grid-area: 1 / 1 / span2; grid-area: 2 / 2 / auto / span 3; grid-area: 1 / 2 / span 3 / span 3;
More Examples
Example
Specify two rows, where «item1» spans the first two columns in the first two
rows (in a five columns grid layout):
.item1 { grid-area: myArea;}.grid-container { display: grid; grid-template-areas:
‘myArea myArea . . .’ ‘myArea myArea . . .’;}
Example
Name all items, and make a ready-to-use webpage template:
.item1 { grid-area: header; }.item2 { grid-area:
menu; }.item3 { grid-area:
main; }.item4 { grid-area:
right; }.item5 { grid-area:
footer; }.grid-container { display: grid; grid-template-areas:
‘header header header header header header’
‘menu main main main right right’ ‘menu footer footer
footer footer footer’;}
CSS Reference
CSS ReferenceCSS Browser SupportCSS SelectorsCSS FunctionsCSS Reference AuralCSS Web Safe FontsCSS Font FallbacksCSS AnimatableCSS UnitsCSS PX-EM ConverterCSS ColorsCSS Color ValuesCSS Default ValuesCSS Entities
CSS Properties
align-content
align-items
align-self
all
animation
animation-delay
animation-direction
animation-duration
animation-fill-mode
animation-iteration-count
animation-name
animation-play-state
animation-timing-function
backface-visibility
background
background-attachment
background-blend-mode
background-clip
background-color
background-image
background-origin
background-position
background-repeat
background-size
border
border-bottom
border-bottom-color
border-bottom-left-radius
border-bottom-right-radius
border-bottom-style
border-bottom-width
border-collapse
border-color
border-image
border-image-outset
border-image-repeat
border-image-slice
border-image-source
border-image-width
border-left
border-left-color
border-left-style
border-left-width
border-radius
border-right
border-right-color
border-right-style
border-right-width
border-spacing
border-style
border-top
border-top-color
border-top-left-radius
border-top-right-radius
border-top-style
border-top-width
border-width
bottom
box-decoration-break
box-shadow
box-sizing
break-after
break-before
break-inside
caption-side
caret-color
@charset
clear
clip
clip-path
color
column-count
column-fill
column-gap
column-rule
column-rule-color
column-rule-style
column-rule-width
column-span
column-width
columns
content
counter-increment
counter-reset
cursor
direction
display
empty-cells
filter
flex
flex-basis
flex-direction
flex-flow
flex-grow
flex-shrink
flex-wrap
float
font
@font-face
font-family
font-feature-settings
font-kerning
font-size
font-size-adjust
font-stretch
font-style
font-variant
font-variant-caps
font-weight
grid
grid-area
grid-auto-columns
grid-auto-flow
grid-auto-rows
grid-column
grid-column-end
grid-column-gap
grid-column-start
grid-gap
grid-row
grid-row-end
grid-row-gap
grid-row-start
grid-template
grid-template-areas
grid-template-columns
grid-template-rows
hanging-punctuation
height
hyphens
@import
isolation
justify-content
@keyframes
left
letter-spacing
line-height
list-style
list-style-image
list-style-position
list-style-type
margin
margin-bottom
margin-left
margin-right
margin-top
max-height
max-width
@media
min-height
min-width
mix-blend-mode
object-fit
object-position
opacity
order
outline
outline-color
outline-offset
outline-style
outline-width
overflow
overflow-x
overflow-y
padding
padding-bottom
padding-left
padding-right
padding-top
page-break-after
page-break-before
page-break-inside
perspective
perspective-origin
pointer-events
position
quotes
resize
right
scroll-behavior
tab-size
table-layout
text-align
text-align-last
text-decoration
text-decoration-color
text-decoration-line
text-decoration-style
text-indent
text-justify
text-overflow
text-shadow
text-transform
top
transform
transform-origin
transform-style
transition
transition-delay
transition-duration
transition-property
transition-timing-function
unicode-bidi
user-select
vertical-align
visibility
white-space
width
word-break
word-spacing
word-wrap
writing-mode
z-index
Значения¶
Значение по-умолчанию:
Применяется к grid-контейнерам
- Контейнер не определяет именованные области макета сетки. Значение по умолчанию.
- Точка означает пустую ячейку сетки макета.
- Строка создается для каждой отдельной строки в списке, а столбец — для каждой ячейки в строке. Несколько маркеров именованных ячеек внутри строк и между строками создают одну именованную область сетки, которая охватывает соответствующие ячейки сетки. Каждая строка с областями должна быть помещена в кавычки. Если заданные ячейки не образуют прямоугольник, то объявление является недопустимым.
- Устанавливает свойство в значение по умолчанию.
- Указывает, что значение наследуется от родительского элемента.
Сравнение с Flexbox
В отличие от Flex, которая ориентирована на одну ось, Grid оптимизирована для двумерных компоновок: когда
требуется расположить (выровнять) содержимое в обоих измерениях (по вертикали и горизонтали).
Кроме того, благодаря возможности явного позиционирования элементов в сетке, Grid позволяет выполнять
кардинальные преобразования в структуре, не требуя никаких изменений HTML разметки. Комбинируя
медиа-запросы со свойствами CSS, управляющими компоновкой контейнера grid и его дочерних элементов, можно
адаптировать верстку под любые форм-факторы устройств.
Grid и Flexbox, имеют свои особенности и нельзя сказать, что одно заменяет другое. Скорее Флекс является
дополнением к Грид, или наоборот.
Flexbox фокусируется на распределении пространства внутри одной оси, использует более простой подход к
компоновке, может использовать систему упаковки строк на основе размера содержимого для управления своей
вторичной осью и полагается на иерархию разметки. Тогда как Grid больше подходит для создания каркасов,
потому что имеет более мощный и комплексный подход и в целом не зависит от иерархии разметки. В отдельных
случаях Grid позволяет создать адаптивный макет, который невозможно создать с помощью Flex или как-то
еще.
- Flexbox — ориентируется по одной оси
- CSS Grid — ориентируется по двум осям
Области шаблона
В предыдущем примере мы узнали как создавать базовый макет путем позиционирования элементов с помощью линий сетки. Другой метод позиционирования заключается в использовании именованных областей сетки со свойствами grid-template-areas и grid-area. Лучше всего показать это на примере. Давайте восстановим сетку из нашего предыдущего примера со свойством grid-template-areas:
Здесь мы определили три столбца и четыре строки. Вместо размещения каждого элемента индивидуально, мы можем определить весь макет, используя свойство grid-template-areas. Затем мы можем привязать эти области к каждому элементу сетки при помощи свойства grid-area.
Наш HTML:
Оставшаяся часть нашего CSS:
Результат на Codepen
Вы знаете, что инструменты разработчика Firefox могут показывать имена областей? Попробуйте! Просмотрите сетку из этого примера и откройте панель макета. Тут вы можете управлять функциями наложения сетки и показа названий областей.
CSS Advanced
CSS Rounded CornersCSS Border ImagesCSS BackgroundsCSS ColorsCSS Gradients
Linear Gradients
Radial Gradients
CSS Shadows
Shadow Effects
Box Shadow
CSS Text EffectsCSS Web FontsCSS 2D TransformsCSS 3D TransformsCSS TransitionsCSS AnimationsCSS TooltipsCSS Style ImagesCSS object-fitCSS ButtonsCSS PaginationCSS Multiple ColumnsCSS User InterfaceCSS Variables
The var() Function
Overriding Variables
Variables and JavaScript
Variables in Media Queries
CSS Box SizingCSS Media QueriesCSS MQ ExamplesCSS Flexbox
CSS Flexbox
CSS Flex Container
CSS Flex Items
CSS Flex Responsive
Плотная упаковка
У нас есть грид. Мы воспользовались авторазмещением, чтобы расположить в нем элементы, и некоторые элементы занимают по нескольку колонок и рядов. Так что, задача решена? Не совсем. Если вы посмотрите пример на CodePen выше в режиме редактирования, вы заметите, что в некоторых контрольных точках в гриде появлятся дырки.
Это из-за того, что по умолчанию авторазмещение использует разреженный (sparse) алгоритм упаковки, который может оставлять дырки в раскладке. Хорошая новость в том, что мы можем переключиться на плотный (dense) алгоритм упаковки, который заставляет браузер оглядываться назад и заполнять все пустые ячейки в раскладке.
.layout { grid-gap: 1rem; + grid-auto-flow: dense; grid-template-columns: repeat(2, var(--width)); grid-auto-rows: var(--height); }
Вот и всё! Внизу — окончательная версия. И вот еще один пример, использующий авторазмещение и плотную упаковку для отображения музыкальных альбомов.
See the Pen Aldo Style Product Grid (CSS Grid) by Varun Vachhar (@winkerVSbecks) on CodePen.
Другие настройки
Ваша первая сетка
Создайте сетку
Первое, что нужно сделать, это создать контейнер сетки. Мы можем это осуществить, объявив display: grid для элемента контейнера. В этом примере мы используем div с классом container.
Определите строки и столбцы
Есть несколько способов определения строк и столбцов. Для нашей первой сетки мы используем свойство grid-template-columns и grid-template-rows. Эти свойства позволят нам определить размер столбцов и строк нашей сетки. Для создания двух строк фиксированной высоты (150px) и трех столбцов фиксированной ширины (150px), просто напишите:
Чтобы добавить четвертый столбец шириной 70px, напишите:
…и так далее, сколько бы столбцов вы ни добавляли.
Добавьте межрядный промежуток
Добавление межрядного промежутка – удивительно простое дело с CSS Grid Layout. Всего лишь добавьте:
Эта простая строчка даст вам одинаковый межрядный промежуток между всеми строками и столбцами. Чтобы определить размер промежутка отдельно для строк и столбцов, вы можете использовать вместо этой записи свойства grid-column-gap и grid-row-gap.
Теперь давайте соберем это все вместе. Вот наш HTML:
Всего несколько строк CSS позволят нам создать простую сетку:
Просмотреть результат можно на Codepen
Впечатляет, правда? Просмотрите указанный выше пример с помощью инструментов разработчика в вашем браузере. Попробуйте изменить ширину столбцов, высоту строк. Замените свойство grid-gap на grid-column-gap и grid-row-gap поиграйте с разной шириной и высотой.
При работе с CSS Grid Layout просто необходимо иметь хороший набор инструментов разработчика. В Firefox есть фантастический функционал, специально созданный чтобы помочь вам создавать и конструировать сетки. Заинтригованы? Скачайте Firefox Developer Edition и у вас будет браузер с самыми лучшими инструментами для работы с CSS Grid Layout.