CSS grid-auto-rows — висота неявних рядків ґріда


Властивість grid-auto-rows визначає розмір неявно створених рядків сітки.

Властивість grid-auto-rows

У прикладі вище, за допомогою цієї властивості ми визначили висоту для рядків, які не були явним чином виражені через властивість grid-template-rows (ми визначили явно висоту тільки для першого рядку).

Визначає розмір будь-яких автоматично сформованих сіткових доріжок (наприклад, неявних сіткових доріжок). Неявні сіткові доріжки створюються, коли ви явно позиціонуєте рядки або стовпці (за допомогою grid-template-rows або grid-template-columns), що знаходяться поза межами визначеної сітки.

Якщо елемент сітки розміщений у рядку, який за розміром більший за інші рядки сітки - створюються неявні клітинки сітки для його розміщення. Це може статися або шляхом явного позиціонування в рядку, що знаходиться поза межами сітки, або за допомогою алгоритму автоматичного розміщення, створюючи додаткові рядки. Щоб зрозуміти, як створюються сіткові доріжки, подивіться на цей приклад:

.box {
  display: grid;
  grid-auto-rows: 275px;
}

Властивість також може приймати декілька значень. Наприклад:

.box {
  display: grid;
  grid-auto-rows: 30px 40px 60px;
}

Властивість grid-auto-rows

автор: Svitlana

Загальний опис

автор: NagarD

Синтаксис

grid-auto-rows: <track-size> ...;

Властивість grid-auto-rows може отримувати єдине значення:

track-size

Може бути довжиною, відсотком або часткою вільного місця в сітці (за допомогою спеціальної одиниці вимірювання fr).

Також, доступні для використання такі ключові слова, як max-content (найбільший можливий розмір), min-content (найменший), minmax(min, max) (визначає діапазон розмірів, що перевищує або дорівнює min і менше або дорівнює max).

Також існує функція fit-content(min, max), яка означає min(max-content, max(auto, argument)).

автор: Svitlana

Значення без задання: auto
Наслідує: Ні
Анімується: Так
JavaScript синтаксис: object.style.gridAutoRows

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
57 70 10.1 44 16 10*
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
57 57 79 10.3

Приклади

+ запропонувати свій приклад у пісочниці

Динамічний приклад

HTML

<p>У цьому прикладі, Ви можете змінювати значення (розмір у пікселях) для властивості <strong>grid-auto-rows</strong>:</p>

<input type="number" class="input" min="0" value="50">px

<div class="box">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
</div>

CSS

body {
  font-family: monospace;
  font-size: 16px;
  line-height: 1.45;
}

.input {
  margin-bottom: 36px;
  padding: 4px;
  font-size: 18px;
}

.box {
  height: 100px;
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: 40vh;
  grid-auto-rows: 50px;
  grid-gap: 16px;
}

.box .item {
  background-color: rgba(0, 0, 0, .45);
  color: #222;
  text-align: center;
  font-weight: 700;
  font-size: 1.25em;
  padding: 16px;
}

JS

var input = document.querySelector('.input');
var box = document.querySelector('.box');

input.addEventListener('change', function () {
  box.style.gridAutoRows = this.value + 'px';
}, false);
//# sourceURL=pen.js
автор: Svitlana

Ряди в шаблоні не оголошені — вони виникають самі, і grid-auto-rows чергує їхні висоти: перший 40px, другий 80px.

HTML

<div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
</div>

CSS

.box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 40px 80px;
    gap: 4px;
}

.box div {
    background: #0172ad;
    color: #fff;
    padding: 8px;
}
автор: Svitlana

Декілька значень

HTML

<p class="note">Ця властивість може не підтримуватися Вашим браузером!</p>

<div class="box">
  <div class="item">30px</div>
  <div class="item">40px</div>
  <div class="item">60px</div>
  <div class="item">30px</div>
  <div class="item">40px</div>
  <div class="item">60px</div>
</div>

CSS

.box {
  display: grid;
  grid-auto-rows: 30px 40px 60px;
  grid-gap: 5px;
}

.box .item {
  background-color: tomato;
  color: white;
  font-size: 1em;
  padding: 10px;
  text-align: center;
  font-family: monospace;
}

.note {
  text-align: center;
  margin-bottom: 25px;
  font-style: italic;
}
автор: Svitlana

Результат роботи

HTML

<div class="box">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
  <div class="item">7</div>
  <div class="item">8</div>
  <div class="item">9</div>
</div>

CSS

body {
  font-family: monospace;
  font-size: 15px;
  line-height: 15vh;
  text-align: center;
}

.box {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: 40vh;
  grid-auto-rows: 20vh;
  grid-gap: 10px;
}

.item {
  background-color: tomato;
  color: white;
  font-size: 4vw;
  padding: 10px;
}
автор: Svitlana

Обом сіткам задано grid-auto-rows: 90px. У першій усі три ряди оголошені в шаблоні — властивість не робить нічого; у другій оголошено лише перший ряд, решта неявні.

HTML

<p>Усі ряди в шаблоні — <code>grid-auto-rows</code> без роботи:</p>
<div class="grid explicit">
    <div>1</div><div>2</div><div>3</div>
</div>
<p>У шаблоні лише перший ряд — другий і третій неявні:</p>
<div class="grid implicit">
    <div>1</div><div>2</div><div>3</div>
</div>

CSS

.grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 90px;
    gap: 4px;
    margin-bottom: 14px;
    border: 1px solid #999;
    font: 13px sans-serif;
}

.grid > div {
    padding: 4px;
    background: #cfe3f5;
}

.explicit {
    grid-template-rows: 30px 30px 30px;
}

.implicit {
    grid-template-rows: 30px;
}

p {
    margin: 0 0 6px;
    font: 13px sans-serif;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід