CSS свойство grid-gap
CSS свойство grid-gap ( gap ) определяет расстояние (промежуток) между строками и столбцами в макете сетки и является сокращенным свойством для свойств grid-row-gap и grid-column-gap.
Модуль CSS Grid Layout первоначально определил свойство как grid-gap , в последствии оно заменяется на свойство gap . Однако для поддержки более широкого круга браузеров, которые реализовали свойство grid-gap , а не gap , необходимо использовать свойство grid-gap .
Схематичное отображение работы свойства grid-gap отображено на следующем изображении:
Поддержка браузерами
Свойство |
Chrome
| Firefox |
Opera |
Safari |
IExplorer |
Edge |
grid-gap (gap) |
54.0* |
52.0 |
44.0 |
10.3 |
10.0* -ms- |
16.0 12.0 -ms- |
Свойство gap (без префикса grid-) поддерживается в Chrome 68+, Safari 11.2 и Opera 54+.
Синтаксис:
CSS синтаксис:
// одно значение для строк и одно значение для столбцов grid-gap: "grid-row-gap grid-column-gap"; // если указано одно значение, то второе (значение для столбцов) будет установлено аналогичное grid-gap: "grid-row-gap"; grid-row-gap: "normal | length | percentage | initial | inherit"; grid-column-gap: "normal | length | percentage | initial | inherit";
JavaScript синтаксис:
object.style.gridGap nam">10px 20px"
Значения свойства
Значение |
Описание |
normal |
Промежуток между строками или столбцами по умолчанию используемый браузерами. Для многоколоночного макета это значение соответствует 1em, для всех остальных типов он равен 0. Является значением по умолчанию. |
length / percentage |
Задает промежуток между строками или столбцами, используя допустимое значение длины, или значение, указанное в процентах. Значение должно быть положительным. |
initial |
Устанавливает свойство в значение по умолчанию. |
inherit |
Указывает, что значение наследуется от родительского элемента. |
Версия CSS
Кандидат в рекомендации (Candidate Recommendation)
Наследуется
Анимируемое
Пример использования
Использование свойства grid-gap (gap) html, body height: 100%; /* высота элементов в процентах */ margin: 0; /* убираем внешние отступы со всех сторон */ overflow: auto; /* полоса прокрутки будет добавлена автоматически при переполнении элемента */ > .grid-container, .grid-container2 display: grid; /* элемент отображается как блочный grid-контейнер */ margin-top: 5px; /* внешний отступ сверху */ padding: 10px; /* внешний отступ элемента со всех сторон */ background: rgb(0,150,208); /* цвет заднего фона */ > .grid-container > div, .grid-container2 > div background: rgb(241,101,41); /* цвет заднего фона */ border: 1px solid #000; /* сплошная граница размером 1 пиксель черного цвета */ text-align: center; /* горизонтальное выравнивание текста */ > .grid-container grid-template-columns: 50px auto 100px; grid-gap: 10px; /* задаем промежуток между строками и столбцами в макете сетки */ > .grid-container2 height: 50%; /* высота элемента в процентах */ grid-template-columns: auto auto auto; grid-gap: 20% 10px; /* задаем промежуток между строками и столбцами в макете сетки */ > class = "grid-container"> A B C D E F
class = "grid-container2"> A B C D E F
В этом примере мы разместили два блочных grid-контейнера, внутри которых мы разместили по шесть элементов .
Для первого контейнера с помощью свойства grid-template-columns мы указываем три значения, которые определяют, что мы размещаем три столбца (дорожки), используя допустимое значение длины в пикселях, либо значение auto , которое в зависимости от размера контейнера и размера содержимого элементов в столбце, определяет размер столбца. Кроме того, с помощью свойства grid-gap мы задаем промежуток между строками и столбцами в макете сетки равный 10 пикселям (при указании одного значения, второе значение будет соответствовать первому).
Для второго контейнера с помощью свойства grid-template-columns мы указываем три значения, которые определяют, что мы размещаем три столбца (дорожки), используя значение auto , которое в зависимости от размера контейнера и размера содержимого элементов в столбце, определяет размер столбца. Кроме того, с помощью свойства grid-gap мы задаем промежуток между строками равный 20% от ширины контейнера (родительского элемента), а между столбцами 10 пикселей. Размер контейнера мы указали равный 50% от родительского контейнера (элемент ).
CSS свойства
© 2016-2023 Денис Большаков, замечания и предложения по работе сайта Вы можете направить по адресу basicweb.ru@gmail.com
Кажется, вы используете блокировщик рекламы 🙁
Этот ресурс не является коммерческим проектом и развивается на энтузиазме автора сайта, который посвящает все свое свободное время этому проекту.
Добавьте, пожалуйста, basicweb.ru в исключения блокировщика рекламы, этим вы поможете развитию проекта.
CSS свойство grid-gap
Свойство grid-gap определяет промежуток между строками и между колонками. Это сокращенная форма записи для следующих свойств:
Синтаксис
grid-gap: grid-row-gap | grid-column-gap | initial | inherit;
Пример
html> html> head> title>Заголовок документа title> style> .grid-container < display: grid; grid-template-columns: auto auto auto auto; grid-gap: 60px; background-color: #ccc; padding: 10px; > .grid-container > div < background-color: #666; text-align: center; padding: 20px 0; font-size: 30px; > style> head> body> h2>Пример свойства grid-gap h2> div class="grid-container"> div>1 div> div>2 div> div>3 div> div>4 div> div>5 div> div>6 div> div>7 div> div>8 div> div>9 div> div>10 div> div>11 div> div>12 div> div> body> html>
Пример где grid-gap указан в процентах:
Пример
html> html> head> title>Заголовок документа title> style> .grid-container < display: grid; grid-template-columns: auto auto auto auto; grid-gap: 20%; background-color: #ccc; padding: 10px; > .grid-container > div < background-color: #666; text-align: center; padding: 20px 0; font-size: 30px; > style> head> body> h2>Пример свойства grid-gap h2> div class="grid-container"> div>1 div> div>2 div> div>3 div> div>4 div> div>5 div> div>6 div> div>7 div> div>8 div> div> body> html>
Пример, где первое значение указывает промежуток между строками, а второе — между колонками:
Пример
html> html> head> title>Заголовок документа title> style> .grid-container < display: grid; grid-template-columns: auto auto auto auto; grid-gap: 20px 80px; background-color: #ccc; padding: 10px; > .grid-container > div < background-color: #666; text-align: center; padding: 20px 0; font-size: 30px; > style> head> body> h2>Пример свойства grid-gap h2> div class="grid-container"> div>1 div> div>2 div> div>3 div> div>4 div> div>5 div> div>6 div> div>7 div> div>8 div> div>9 div> div>10 div> div>11 div> div>12 div> div> body> html>
Значения
Значение |
Описание |
grid-row-gap |
Определяет промежуток между строками в гибком макете. Значение по умолчанию — 0. |
grid-column-gap |
Определяет промежуток между колонками в гибком макете. Значение по умолчанию — 0. |
initial |
Устанавливает свойство в значение по умолчанию. |
inherit |
Значение элемента наследуется от родительского элемента. |
Поддержка браузера
Что такое gap css
Свойство gap устанавливает промежутки между строками и столбцами сетки. Это сокращение для row-gap и column-gap .
Демо¶
Flexbox и выравнивание
Синтаксис¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
/* One value */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* One value */ gap: 16%; gap: 100%; /* Two values */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* One or two values */ gap: 16% 100%; gap: 21px 82%; /* calc() values */ gap: calc(10% + 20px); gap: calc(20px + 10%) calc(10% - 5px); /* Global values */ gap: inherit; gap: initial; gap: unset;
Спецификации¶
Поддержка браузерами¶
gap для колонок (columns):
- Chrome 66+
- Edge 16+
- Firefox 61+
gap для Grid-раскладки:
- Chrome 66+
- Edge 16+
- Firefox 61+
- Safari 10.1+
gap для Flex-раскладки:
Can I Use flexbox-gap? Data on support for the flexbox-gap feature across the major browsers from caniuse.com.
Описание и примеры¶
Flex¶
1 2 3 4 5 6 7 8
div id="flexbox"> div>div> div>div> div>div> div>div> div>div> div>div> div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#flexbox display: flex; flex-wrap: wrap; width: 300px; gap: 20px 5px; > #flexbox > div border: 1px solid green; background-color: lime; flex: 1 1 auto; width: 100px; height: 50px; >
Grid¶
1 2 3 4 5 6 7 8 9 10 11
div id="grid"> div>div> div>div> div>div> div>div> div>div> div>div> div>div> div>div> div>div> div>
1 2 3 4 5 6 7 8 9 10 11
#grid display: grid; height: 200px; grid-template: repeat(3, 1fr) / repeat(3, 1fr); gap: 20px 5px; > #grid > div border: 1px solid green; background-color: lime; >
См. также¶
- Свойство row-gap
- Свойство column-gap
- Руководство по Grid Layout
Что такое gap css
Свойство gap CSS устанавливает промежутки ( gutters ) между строками и столбцами. Это shorthand для row-gap и column-gap .
Try it
Обратите внимание, что grid-gap — это псевдоним этого свойства.
Syntax
/* Одно значение */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* Одно значение */ gap: 16%; gap: 100%; /* Два значения */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* Одно или два значения */ gap: 16% 100%; gap: 21px 82%; /* значения calc() */ gap: calc(10% + 20px); gap: calc(20px + 10%) calc(10% - 5px); /* Глобальные значения */ gap: inherit; gap: initial; gap: revert; gap: revert-layer; gap: unset;
Это свойство указывается как значение , за которым может следовать значение . Если опущен, ему присваивается то же значение, что и .
Values
Ширина желоба, разделяющего линии сетки.
Ширина отступа, разделяющего линии сетки, относительно размера элемента.
Formal definition
- row-gap : normal
- column-gap : normal
- row-gap : как указано, с s, сделанным абсолютным, и обычными вычислениями до нуля, за исключением элементов с несколькими столбцами.
- column-gap : как указано, s сделан абсолютным, а обычные вычисления равны нулю, за исключением элементов с несколькими столбцами.
- row-gap : length , percentage или calc();
- column-gap : length , percentage или calc();
Formal syntax
gap = 'row-gap'> 'column-gap'>?
Examples
Flex layout
HTML
div id="flexbox"> div> div> div> div> div> div> div> div> div> div> div> div> div>
CSS
#flexbox < display: flex; flex-wrap: wrap; width: 300px; gap: 20px 5px; > #flexbox > div < border: 1px solid green; background-color: lime; flex: 1 1 auto; width: 100px; height: 50px; >
Result
Grid layout
HTML
div id="grid"> div> div> div> div> div> div> div> div> div> div> div> div> div> div> div> div> div> div> div>
CSS
#grid < display: grid; height: 200px; grid-template: repeat(3, 1fr) / repeat(3, 1fr); gap: 20px 5px; > #grid > div < border: 1px solid green; background-color: lime; >
Result
Multi-column layout
HTML
class="content-box"> This is some multi-column text with a 40px column gap created with the CSS gap
property. Don't you think that's fun and exciting? I sure do!
CSS
.content-box < column-count: 3; gap: 40px; >
Result
Specifications
Specification |
CSS Модуль выравнивания коробок Уровень 3 # gap-сокращение |
Browser compatibility
Desktop |
Mobile |
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Фаерфокс для Android |
Opera Android |
Сафари на IOS |
Samsung Internet |
gap |
57 |
16 |
52 |
No |
44 |
10.1 |
57 |
57 |
52 |
43 |
10.3 |
7.0 |
flex_context |
84 |
84 |
63 |
No |
70 |
14.1 |
84 |
84 |
63 |
60 |
14.5 |
14.0 |
grid_context |
6657 |
1616 |
6152 |
No |
5344 |
1210.1 |
6657 |
6657 |
6152 |
4743 |
1210.3 |
9.07.0 |
multicol_context |
66 |
16 |
61 |
No |
53 |
14.1 |
66 |
66 |
61 |
47 |
14.5 |
9.0 |
See also
- Связанные свойства CSS: row-gap , column-gap
- Руководство по компоновке сетки: Basic concepts of grid layout — Gutters