SlideShare a Scribd company logo
1 of 30
CSS Grid Layout
Bogdan Otvodenko
Front-end developer with 5+ years of expirience
PDFfiller
Confidential. All rights reserved. Valtech Solutions, Inc.
Предпосылки появления CSS Grid
1. display: table ;
2. Floats ;
3. Inline-block ;
4. Абсолютное и относительное позиционирование
5. 100500+ frameworks
Вёрстка макетов. Раньше и сейчас
1. Flexbox
https://drafts.csswg.org/css-flexbox/
1. СSS Grid
2. https://drafts.csswg.org/css-grid/
3. Box Aligment
4. https://drafts.csswg.org/css-align/
На что нам расчитывать ?
Confidential. All rights reserved. Valtech Solutions, Inc.
Какие задачт решает
CSS Grid и что это?
01
https://www.w3.org/TR/css3-grid-layout/
Поддержка браузерами CSS Grid
Немного терминологии
Grid line
Grid line
Grid track
Grid cell
Grid cell
Grid area
Grid cotainer
<div class=”container”>
.......
</div>
Grid item
<div class=”container”>
<div class=”container__item”>
<div class=”container__item”>
<div class=”container__item”>
<div class=”container__item”>
<div class=”container__item”>
</div>
.container {
disaply: grid;
}
.container {
disaply: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.container {
disaply: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 20px;
}
grid-column-gap;
grid-row-gap;
.container {
disaply: grid;
grid-template-columns: 1fr 2fr 3fr;
grid-gap: 20px;
}
fr, px, %, em ...
.container {
disaply: grid;
grid-template-columns: 800px 1fr 2fr;
grid-gap: 20px;
}
fr, px, %, em ...
.container {
disaply: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 20px;
}
fr, px, %, em ...
.container {
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr);
}
Окей, а как из этого построить лейаут?
И схо д н ы е
бл о к и
И схо д н ы е
бл о к и
.container__item:first-child,
.container__item:last-child {
grid-column: 1 / 4;
}
И с хо д н ы е
бл о к и
.container__item:first-child {
grid-column: 1 / 4;
}
.container__item:last-child {
grid-column: 1 / 4;
}
.container__item:first-child {
grid-column: 1 / 4;
grid-row: 3 / 4
}
.container__item:last-child {
grid-column: 1 / 4;
grid-row: 1 / 2
}
.container__item:first-child {
grid-area: 3 / 1 / 4 / 4;
grid-row-start: 3;
grid-column-start: 1;
grid-row-end: 4;
grid-column-end: 4
}
.container__item:last-child {
grid-area: 1 / 1 / 2 / 4;
grid-row-start: 1;
grid-column-start: 1;
grid-row-end: 2;
grid-column-end: 4;
}
&__item {
border:1px solid #333;
background: tomato;
&:nth-child(1){grid-area: 1 / 1 / 3 / 2;}
&:nth-child(2){grid-area: 1 / 2 / 2 / 3;}
&:nth-child(3){grid-area: 2 / 2 / 3 / 3;}
&:nth-child(4){grid-area: 1 / 3 / 2 / 5;}
&:nth-child(5){grid-area: 1 / 5 / 2 / 7;}
&:nth-child(6){grid-area: 3 / 1 / 4 / 3;}
&:nth-child(7){grid-area: 2 / 3 / 4 / 5;}
&:nth-child(8){}
&:nth-child(9){}
&:nth-child(10){grid-area: 3 / 5 / 4 / 7;}
}
Flex vs Grid
Вопросы?

More Related Content

Similar to Модульные сетки без хаков: CSS Grid Layout!

JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.Igor Shkulipa
 
Groovy On Grails
Groovy On GrailsGroovy On Grails
Groovy On Grailsguest32215a
 
Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Ilyas Salikhov
 
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)Symfoniacs
 
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.Anastasia Lubennikova
 

Similar to Модульные сетки без хаков: CSS Grid Layout! (7)

JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.
 
Groovy On Grails
Groovy On GrailsGroovy On Grails
Groovy On Grails
 
Authemployee
AuthemployeeAuthemployee
Authemployee
 
Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2
 
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
 
Bytecode
BytecodeBytecode
Bytecode
 
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
 

More from Valtech Ukraine

Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...
Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...
Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...Valtech Ukraine
 
IT as a social instrument
IT as a social instrumentIT as a social instrument
IT as a social instrumentValtech Ukraine
 
CSS Переменные — настало ваше время!
CSS Переменные — настало ваше время!CSS Переменные — настало ваше время!
CSS Переменные — настало ваше время!Valtech Ukraine
 
Rest-Assured - легкий способ автоматизации тестирования REST
Rest-Assured - легкий способ автоматизации тестирования RESTRest-Assured - легкий способ автоматизации тестирования REST
Rest-Assured - легкий способ автоматизации тестирования RESTValtech Ukraine
 
Практическая оптимизация сервер сайд: современные реалии
Практическая оптимизация сервер сайд: современные реалииПрактическая оптимизация сервер сайд: современные реалии
Практическая оптимизация сервер сайд: современные реалииValtech Ukraine
 
Современные возможности ES-2015 (Promise, Generators, Proxy).
Современные возможности ES-2015 (Promise, Generators, Proxy).Современные возможности ES-2015 (Promise, Generators, Proxy).
Современные возможности ES-2015 (Promise, Generators, Proxy).Valtech Ukraine
 

More from Valtech Ukraine (6)

Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...
Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...
Что нам стоит дом построить? Давайте поговорим о методах формирования лаяутов...
 
IT as a social instrument
IT as a social instrumentIT as a social instrument
IT as a social instrument
 
CSS Переменные — настало ваше время!
CSS Переменные — настало ваше время!CSS Переменные — настало ваше время!
CSS Переменные — настало ваше время!
 
Rest-Assured - легкий способ автоматизации тестирования REST
Rest-Assured - легкий способ автоматизации тестирования RESTRest-Assured - легкий способ автоматизации тестирования REST
Rest-Assured - легкий способ автоматизации тестирования REST
 
Практическая оптимизация сервер сайд: современные реалии
Практическая оптимизация сервер сайд: современные реалииПрактическая оптимизация сервер сайд: современные реалии
Практическая оптимизация сервер сайд: современные реалии
 
Современные возможности ES-2015 (Promise, Generators, Proxy).
Современные возможности ES-2015 (Promise, Generators, Proxy).Современные возможности ES-2015 (Promise, Generators, Proxy).
Современные возможности ES-2015 (Promise, Generators, Proxy).
 

Модульные сетки без хаков: CSS Grid Layout!

Editor's Notes

  1. 2
  2. 5
  3. 6
  4. 7
  5. 21
  6. 28
  7. 30