Поиск…


Вступление

Макет сетки - это новая и мощная система компоновки CSS, которая позволяет легко разделить содержимое веб-страницы на строки и столбцы.

замечания

Модуль модуляции сетки CSS 1-го уровня , по состоянию на 9 сентября 2016 года, Рекомендацию кандидата W3C. Он считается находящимся на стадии тестирования ( https://www.w3.org/Style/CSS/current-work) .

По состоянию на 3 июля 2017 года браузеры Microsoft Internet Explorer 10 и 11 и Edge поддерживают только более старую версию спецификации с использованием префикса поставщика.

Основной пример

Имущество Возможные значения
дисплей сетка / встроенная сетка

CSS Grid определяется как свойство отображения. Он применяется только к родительскому элементу и его непосредственным детям.

Рассмотрим следующую разметку:

<section class="container">
  <div class="item1">item1</div>
  <div class="item2">item2</div>
  <div class="item3">item3</div>
  <div class="item4">item4</div>
</section>

Самый простой способ определить структуру разметки выше как сетку - просто установить ее свойство display в grid :

.container {
  display: grid;   
}

Однако выполнение этого неизбежно приведет к развалу всех дочерних элементов друг над другом. Это связано с тем, что дети в настоящее время не знают, как позиционировать себя в сетке. Но мы можем прямо сказать им.

Сначала нам нужно сообщить элементу .container сколько строк и столбцов будет составлять его структуру, и мы можем сделать это, используя свойства grid-columns и grid-rows (обратите внимание на плюрализацию):

.container {
  display: grid;
  grid-columns: 50px 50px 50px;
  grid-rows: 50px 50px;
}

Тем не менее, это все равно не помогает нам, потому что нам нужно дать заказ каждому дочернему элементу. Мы можем сделать это, указав значения grid-row и grid-column которые будут сообщать, где он находится в сетке:

.container .item1 {
  grid-column: 1;
  grid-row: 1;
}
.container .item2 {
  grid-column: 2;
  grid-row: 1;
}
.container .item3 {
  grid-column: 1;
  grid-row: 2;
}
.container .item4 {
  grid-column: 2;
  grid-row: 2;
}

Предоставляя каждому элементу значение столбца и строки, он идентифицирует порядок элементов в контейнере.

Просмотрите рабочий пример JSFiddle . Вам нужно будет просмотреть это в IE10, IE11 или Edge, чтобы они работали, поскольку в настоящее время это единственные браузеры, поддерживающие Grid Layout (с префиксом поставщика -ms- ) или включение флага в Chrome, Opera и Firefox в соответствии с caniuse для упорядочения протестировать их.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow