Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π£Ρ‡ΠΈΠΌ CSS Grid Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚

Быстро познакомимся с Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Π΅Π±-сайтов.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Grid ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π²Π΅Π±-сайтов, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CSS Grid β€” это самый ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ простой инструмСнт для Π΅Π³ΠΎ создания.

Π’ этом Π³ΠΎΠ΄Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (Safari, Chrome, Firefox), поэтому я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ всСм Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ придСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ эту Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Π±Ρ‹ΡΡ‚Ρ€Π΅Π½ΡŒΠΊΠΎ расскаТу Π²Π°ΠΌ ΠΎΠ± основах CSS Grid.

Π― Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ созданиСм ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ курса CSS Grid, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π½Π°Ρ‡Π½Ρƒ бСсплатно Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅. ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€Π΅Π²ΡŒΡŽ курса здСсь.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π’Π°Ρˆ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ CSS Grid ΠΌΠ°ΠΊΠ΅Ρ‚

Двумя основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ CSS Grid ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°(Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ) ΠΈ элСмСнты (Π”Π΅Ρ‚ΠΈ). ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° β€” это фактичСски сСтка, Π° элСмСнты β€” это содСрТимоС Π²Π½ΡƒΡ‚Ρ€ΠΈ сСтки.

Π’ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ с ΡˆΠ΅ΡΡ‚ΡŒΡŽ элСмСнтами Π² Π½Π΅ΠΉ:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ div Π² сСтку, ΠΌΡ‹ просто Π΄Π°Π΄ΠΈΠΌ Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ grid:

Но это ΠΏΠΎΠΊΠ° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша сСтка выглядСла. БСйчас это просто складываСт 6 div Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ стилСй, Π½ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с CSS Grid.

Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ ΠΈ строки

ЗначСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΡˆΠΈΡ€ΠΎΡ‚Ρƒ Π½Π°ΡˆΠΈΡ… столбцов (100px) ΠΈ высоту для Π½Π°ΡˆΠΈΡ… строк (50px). Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями ΠΈ ΠΊΠ°ΠΊ выглядит сСтка, взглянитС Π½Π° этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

РасполоТСниС элСмСнтов

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ потрСбуСтся ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнты Π½Π° сСткС. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ свСрхспособности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ просто.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим сСтку 3×3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρƒ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСтку 3×2 Π½Π° страницС, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π΅Π΅ ΠΊΠ°ΠΊ сСтку 3×3. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ΅ΡΡ‚ΡŒ элСмСнтов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сСтку. Если Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»ΠΎ Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈ, Ρ‚ΠΎ ΠΈ ниТняя строка Π±Ρ‹Π»Π° Π±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°.

Для позиционирования ΠΈ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° элСмСнтов ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойства grid-column ΠΈ grid-row :

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ item1 начинался с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ сСтки ΠΈ заканчивался Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ столбцС. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это Π·Π°ΠΉΠΌΠ΅Ρ‚ всю строку. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π° экранС:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π’Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π² Π·Π°ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ нас 4 столбца, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 столбца. ВзглянитС Π½Π° это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ я ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ» Π»ΠΈΠ½ΠΈΠΈ столбцов Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ всС строки Π² сСткС. Когда ΠΌΡ‹ сдСлали Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π·Π°Π½ΠΈΠΌΠ°Π» вСсь ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ряд, ΠΎΠ½ сдвинул ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π²Π½ΠΈΠ·.

НаконСц, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой синтаксис для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поняли эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ пСрСстроим элСмСнты.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π½Π° страницС. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это выглядит Ρ‚Π°ΠΊ. Π­Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ слишком слоТно.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПолноС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ руководство/ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ CSS Grid

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

БСгодня ΠΌΡ‹ с Π²Π°ΠΌΠΈ рассмотрим свойства CSS Grid (Π΄Π°Π»Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ β€” Π“Ρ€ΠΈΠ΄), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Π²Π΅Π±-страниц. Π― ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ свойство.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π“Ρ€ΠΈΠ΄ β€” это ΠΌΠ°ΠΊΠ΅Ρ‚ для сайта (Π΅Π³ΠΎ схСма, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚).

Π“Ρ€ΠΈΠ΄-модСль позволяСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ сайта (Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ). Она позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ структуры, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для обСспСчСния отзывчивости сайтов Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройствах. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сайт Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π΅.

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ°ΠΊΠ΅Ρ‚Π° сайта, созданного с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π“Ρ€ΠΈΠ΄Π°.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π’Π΅Π»Π΅Ρ„ΠΎΠ½

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

АрхитСктура CSS Grid

Как ΠΆΠ΅ Π“Ρ€ΠΈΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π“Ρ€ΠΈΠ΄Π° (grid items) Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ вдоль Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈΠ»ΠΈ основной (main) ΠΈ ΠΏΠΎΠΏΠ΅Ρ€Π΅Ρ‡Π½ΠΎΠΉ (cross) оси (axis). ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… свойств ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнтами для создания ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

К слову, Ссли вас интСрСсуСт ЀлСкс, Π²ΠΎΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ.

Π‘Ρ…Π΅ΠΌΠ° CSS Grid

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π‘Ρ…Π΅ΠΌΠ° содСрТит всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ свойства, прСдоставляСмыС Π“Ρ€ΠΈΠ΄ΠΎΠΌ. Π­Ρ‚ΠΈ свойства дСлятся Π½Π°:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ сокращСния для свойств:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

К ΠΊΠΎΠ½Ρ†Ρƒ настоящСй ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ….

Настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Codepen (ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ пСсочницу) ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

7 основных понятий CSS Grid Layout с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π³Ρ€ΠΈΠ΄Π°ΠΌΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

CSS Grid Layout β€” это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт систСму ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π½Π° основС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ сСтки, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

Π’ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³ΠΈΠ±ΠΊΠΎΠΉ сСткС ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты.

Если ΠΌΡ‹ посмотрим Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ с сайта Can I use Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ CSS Grid Layout Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ поддСрТиваСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Grid Layout позволяСт ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Π½Π΅ трСбуя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ ΠΌΠ΅Π΄ΠΈΠ°-запросы со свойствами CSS, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ для отобраТСния Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах, сохраняя ΠΏΡ€ΠΈ этом Π±ΠΎΠ»Π΅Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру HTML ΠΊΠΎΠ΄Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ CSS Grid Layout Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ страницы с ΡˆΠ΅ΡΡ‚ΡŒΡŽ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Наш ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ HTML ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

CSS ΠΊΠΎΠ΄, ΠΎΠ½ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ для красоты ΠΈ наглядности:

Наша страница Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, красоту ΠΌΡ‹ Π½Π°Π²Π΅Π»ΠΈ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся ΠΊΠ°ΠΊ ΠΆΠ΅ всС-Ρ‚Π°ΠΊΠΈ создаСтся Π³Ρ€ΠΈΠ΄.

Бвойства display: grid ΠΈ display:inline-grid

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

А прСдставляСт ΠΎΠ½ ΠΈΠ· сСбя ΠΎΠ΄Π½ΠΎΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ Π³Ρ€ΠΈΠ΄ с ΡˆΠ΅ΡΡ‚ΡŒΡŽ рядами.

Бвойства grid-gap, row-gap ΠΈ column-gap

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ grid-gap ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° свойства:

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ свойства, Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Бвойство grid-template-columns

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π¨ΠΈΡ€ΠΈΠ½Ρƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Π»ΡŽΠ±Ρ‹Ρ… CSS Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… Π΄Π»ΠΈΠ½Ρ‹, Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… ΠΈ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… fr.

fr (ΠΎΡ‚ fraction β€” Ρ‡Π°ΡΡ‚ΡŒ) это новая Ρ„ΠΎΡ€ΠΌΠ° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния созданная для Π³Ρ€ΠΈΠ΄ΠΎΠ², которая позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, сколько ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ мСсто распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ количСству fr.

1fr 1fr 1fr β€” такая запись ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создаСм 3 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вычислим ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ 1.5fr / 4.5fr * 400px. Π§Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ Ρ€Π°Π²Π½ΠΎ 133px. БоотвСтствСнно рассчитаСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния.

Вторая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 2fr / 4.5fr * 400px = 178px, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 1fr / 4.5fr * 400px = 89px. Π’.Π΅. ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

grid-template-columns: 133px 178px 89px;

Π’ суммС общая ΡˆΠΈΡ€ΠΈΠ½Π° Ρ€Π°Π²Π½Π° 400px.

Π’ этом случаС, Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π»ΠΈΠ±ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ, Π½Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС значСния Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π‘ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ измСрСния fr всС пСрСсчитаСтся автоматичСски.

Бвойство grid-template-rows

Π­Ρ‚ΠΎ свойство позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ строки Π² Π³Ρ€ΠΈΠ΄.

Π”Π°Π²Π°ΠΉΡ‚Π΅ отвлСчСмся ΠΈ посмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, Ρ‡Ρ‚ΠΎ ΠΈΠ· сСбя прСдставляСт наш Π³Ρ€ΠΈΠ΄ ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ нСсколько Π½ΠΎΠ²Ρ‹Ρ… понятий.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π“Ρ€ΠΈΠ΄-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ β€” элСмСнт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится сСтка Π³Ρ€ΠΈΠ΄Π°.

Π“Ρ€ΠΈΠ΄-Π»ΠΈΠ½ΠΈΠΈ β€” Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΠΈΠ΄ Π½Π° ячСйки. Π£ Π³Ρ€ΠΈΠ΄ Π»ΠΈΠ½ΠΈΠΉ Π΅ΡΡ‚ΡŒ нумСрация, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°. На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ красными (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ) ΠΈ Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ стрСлками (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ).

Π“Ρ€ΠΈΠ΄-полосы β€” пространство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠ°Ρ€ΠΎΠΉ сосСдних Π³Ρ€ΠΈΠ΄-Π»ΠΈΠ½ΠΈΠΉ. Π‘Ρ‹Π²Π°ΡŽΡ‚ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Π“Ρ€ΠΈΠ΄-ячСйки β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ получаСтся Π½Π° пСрСсСчСнии Π΄Π²ΡƒΡ… Π³Ρ€ΠΈΠ΄-полос. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ячСйками Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ это синиС Π±Π»ΠΎΠΊΠΈ с Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π² количСствС ΡˆΠ΅ΡΡ‚ΠΈ ΡˆΡ‚ΡƒΠΊ.

Π“Ρ€ΠΈΠ΄-области β€” ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΈΠ· смСТных Π³Ρ€ΠΈΠ΄-ячССк. КаТдая Π³Ρ€ΠΈΠ΄-ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° двумя ΠΏΠ°Ρ€Π°ΠΌΠΈ Π³Ρ€ΠΈΠ΄-Π»ΠΈΠ½ΠΈΠΉ (ΠΏΠ°Ρ€ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€ΠΎΠΉ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ…).

Π“Ρ€ΠΈΠ΄-ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ β€” пустыС пространства ΠΌΠ΅ΠΆΠ΄Ρƒ сосСдними Π³Ρ€ΠΈΠ΄-полосами.

Бвойства grid-auto-rows, grid-auto-columns ΠΈ grid-auto-flow

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π·Π°Π΄Π°Π²Π°Π»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ строки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ Π² явном ΠΈ Π² нСявном Π²ΠΈΠ΄Π΅.

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΅ΡΡ‚ΡŒ свойство grid-auto-columns ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выставляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, это Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ячСйки Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ вдоль ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π° Π½Π΅ строк. A ΠΈ B Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, C ΠΈ D Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚.Π΄.

Как Π²ΠΈΠ΄ΠΈΠΌ, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° добавилась автоматичСски ΠΈ Π΅Π΅ ΡˆΠΈΡ€ΠΈΠ½Π° формируСтся Π½Π° основС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² самой ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ячСйкС. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Ρƒ для этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ Π½Π°ΡˆΠ΅ΠΌΡƒ Π³Π»Π°Π·Ρƒ Π³Ρ€ΠΈΠ΄.

Ѐункция repeat()

Π­Ρ‚Π° функция позволяСт ΡΠΎΠΊΡ€Π°Ρ‰Π°Ρ‚ΡŒ объявлСниС ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ строк Π² случаС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

НапримСр Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ repeat ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ наш ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Ѐункция minmax(), auto-fill ΠΈ auto-fit

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с использованиСм этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π—Π°ΠΏΠΈΡΡŒ minmax(120px, 1fr) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ столбца Ρ€Π°Π²Π΅Π½ 120px, Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ β€” 1fr.

auto-fill Π΄Π΅Π»Π°Π΅Ρ‚ наш Π³Ρ€ΠΈΠ΄ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π½Π΅ΠΌ элСмСнты ΠΌΠ΅Π½ΡΡŽΡ‚ свои ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ мСняСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π¨ΠΈΡ€ΠΈΠ½Π° ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° 450px:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π¨ΠΈΡ€ΠΈΠ½Π° ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° 300px:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π¨ΠΈΡ€ΠΈΠ½Π° ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° 200px:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

Π‘ auto-fill Ρƒ нас Ρ‚Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π‘ auto-fit пустая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° исчСзаСт

grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Бвойства grid-template-areas, grid-area

Для Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ наш html-ΠΊΠΎΠ΄ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² Π½Π΅ΠΌ сСмантичСскиС Ρ‚Π΅Π³ΠΈ.

C ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ grid-area Π·Π°Π΄Π°Π΄ΠΈΠΌ псСвдонимы для Π½Π°ΡˆΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ².

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ grid-template-areas ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ шаблон страницы.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π­Ρ‚ΠΎ дСлаСтся Π»Π΅Π³ΠΊΠΎ ΠΈ быстро. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

Π’ΠΎΡ‚ ΠΈ всС, ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ шаблон, ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ² ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!

Π’ качСствС Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ руководствС Π½Π΅ ΡΡ‚Π°Π²ΠΈΠ»Π°ΡΡŒ Ρ†Π΅Π»ΡŒ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ всС аспСкты CSS Grid Layout, эта Ρ‚Π΅ΠΌΠ° довольно ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ. ΠœΡ‹ рассмотрСли основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π³Ρ€ΠΈΠ΄Π°ΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

2.28. CSS Grid

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid

W3C описываСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CSS Grid Layout ΠΊΠ°ΠΊ систСму Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Главная идСя, лСТащая Π² основС ΠΌΠ°ΠΊΠ΅Ρ‚Π° сСтки, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²Π΅Π±-страницы Π½Π° столбцы ΠΈ строки. Π’ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ΡΡ области сСтки ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты сСтки, Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ располоТСниСм ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… свойств модуля.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, благодаря своСй способности явно Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты Π² сСткС, Grid Layout позволяСт ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ структуру Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° экранС), Π½Π΅ трСбуя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π₯отя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Grid ΠΈΠ»ΠΈ Flexbox, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свои особСнности. Grid обСспСчиваСт Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нисходящий ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ, допускаСт явноС ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ элСмСнтов ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ возмоТностями. Flexbox фокусируСтся Π½Π° распрСдСлСнии пространства ΠΏΠΎ оси, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ простой восходящий ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму пСрСноса строк Π½Π° основС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° для управлСния своСй Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ осью ΠΈ опираСтся Π½Π° Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ для построСния Π±ΠΎΠ»Π΅Π΅ слоТных ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π’ΠΎ всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн стандартный синтаксис. Если Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ синтаксис для IE10-11 ΠΈ Microsoft Edge, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ руководством Microsoft Developer Network Grid layout.

Бписок Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π±Π°Π³ΠΎΠ² ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Rachel Andrew GridBugs.

Руководство ΠΏΠΎ CSS Grid Layout

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

1. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ сСтки ΠΈ основныС понятия

Π‘Π΅Ρ‚ΠΊΠ° (grid) прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, дСлящих пространство grid-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° области сСтки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ элСмСнты сСтки.

Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π»ΠΈΠ½ΠΈΠΉ сСтки: ΠΎΠ΄Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ° опрСдСляСт столбцы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ проходят вдоль оси Π±Π»ΠΎΠΊΠ° (ось столбцов), ΠΈ пСрпСндикулярная Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ строки, ΠΏΡ€ΠΎΡΡ‚ΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ΡΡ вдоль Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ оси (ось строк), Π² соотвСтствии с CSS3 Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ записи.

Π―Ρ‡Π΅ΠΉΠΊΠ° сСтки (grid cell) β€” пространство, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ линиями сСтки, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ячСйкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π―Ρ‡Π΅ΠΉΠΊΠ° сСтки β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. Π­Ρ‚ΠΎ наимСньшая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° сСтки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов сСтки. К ячСйкам сСтки нСльзя ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS-свойств.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ сСтки (grid items) β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ области сСтки (ΠΈΠ»ΠΈ ячСйкС сСтки). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-сСтка Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ноль ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов сСтки; ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°-сСтки автоматичСски становится элСмСнтом сСтки.

Π”ΠΎΡ€ΠΎΠΆΠΊΠΈ, ячСйки ΠΈ области сСтки построСны ΠΈΠ· Π»ΠΈΠ½ΠΈΠΉ сСтки. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π½Π΅ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС области сСтки Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ элСмСнтами, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ячССк сСтки Π±ΡƒΠ΄ΡƒΡ‚ пустыми ΠΎΡ‚ любого содСрТимого. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнты сСтки Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ области сСтки.

2. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-сСтка

Для создания ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π½Π° основС сСтки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-сСтку.

Donec in tellus vel neque sollicitudin lobortis sed a arcu. Quisque eu arcu vel eros pretium posuere. Quisque semper nunc ligula, eget laoreet nibh faucibus vel.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin viverra lorem libero, eget ultricies risus vulputate eu. Donec pretium in risus a suscipit.

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСтки

3.1. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ столбцы

3.1.1. ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹Π΅ значСния для опрСдСлСния Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ сСтки (Π΄Π»ΠΈΠ½Π°)
3.1.2. Π“ΠΈΠ±ΠΊΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ: Π΅Π΄ΠΈΠ½ΠΈΡ†Π° измСрСния fr

Если доступноС пространство бСсконСчно (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠ»ΠΈ высота ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°-сСтки Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹), Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ сСтки Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ своСму содСрТимому, сохраняя ΠΏΡ€ΠΈ этом ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΈ.

3.1.3. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово max-content устанавливаСт для Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ максимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ пространство с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ содСрТимого элСмСнта сСтки.

min-content позволяСт Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ минимальноС пространство, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для этого содСрТимого, ΠΏΡ€ΠΈ этом ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнта ориСнтируСтся Π½Π° самоС Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово ΠΈΠ»ΠΈ Π½Π° самоС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

3.1.4. АвтоматичСскиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹
3.1.5. БоотвСтствиС содСрТимому
3.1.6. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ строк ΠΈ столбцов

Нотация repeat() прСдставляСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ списка Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ, Ρ‡Ρ‚ΠΎ позволяСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ большоС количСство ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ столбцов ΠΈΠ»ΠΈ строк. ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° синтаксиса ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Бинтаксис repeat() ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Ρ„ΠΎΡ€ΠΌ:

3.2. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ области

Бвойство grid-template-areas опрСдСляСт ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ области сСтки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ связаны с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтом сСтки, Π½ΠΎ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΈΠ· свойств размСщСния сСтки. Бинтаксис свойства обСспСчиваСт Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ структуры сСтки, облСгчая ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°-сСтки. Бвойство Π½Π΅ наслСдуСтся.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сСтки Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ grid-template-areas соотвСтствуСт ячСйкС сСтки. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС ячСйки ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС смСТныС ячСйки с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² ΠΎΠ΄Π½Ρƒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС ΠΈΡ…, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС области, вСсь шаблон Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ области сСтки Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹.

ΠžΠ±Π»Π°ΡΡ‚ΠΈ сСтки ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для опрСдСлСния сСмантичСских ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ частями ΠΌΠ°ΠΊΠ΅Ρ‚Π° страницы, позволяя ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, какая Ρ‡Π°ΡΡ‚ΡŒ страницы Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ», Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ содСрТимого ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ».

3.3. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ запись явной сСтки

Ѐункция repeat() Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° для опрСдСлСния списка Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ Π² этом свойствС, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ области сСтки (сСтка просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отрисована).

3.4. НСявная сСтка

3.4.1. АвтоматичСскиС Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ сСтки

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эти автоматичСски добавляСмыС Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€. Бвойства grid-auto-rows ΠΈ grid-auto-columns ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ нСявных Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ сСтки. Если Π΄Π°Π½ΠΎ нСсколько Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ, шаблон повторяСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ нСявных Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ. ΠŸΠ΅Ρ€Π²Π°Ρ нСявная Π΄ΠΎΡ€ΠΎΠΆΠΊΠ° сСтки послС явной сСтки ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Бвойства Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ.

grid-auto-columns, grid-auto-rows
ЗначСния:
autoΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ +Π’ качСствС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, допустимоС для задания Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ сСтки.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display gridРис. 3. АвтоматичСскиС Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ сСтки

3.4.2. АвтоматичСскоС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ сСтки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ явно, автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² нСзанятоС пространство Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅-сСткС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° автоматичСского размСщСния. Бвойство grid-auto-flow управляСт автоматичСским Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов сСтки Π±Π΅Π· явного полоТСния. ПослС заполнСния явной сСтки (ΠΈΠ»ΠΈ Ссли явной сСтки Π½Π΅Ρ‚) автоматичСскоС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ нСявных Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ сСтки. Бвойство Π½Π΅ наслСдуСтся.

grid-auto-flow
ЗначСния:
rowАлгоритм автоматичСского размСщСния Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ элСмСнты, заполняя ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ слСва-Π½Π°ΠΏΡ€Π°Π²ΠΎ (для LTR-языков), добавляя Π½ΠΎΠ²Ρ‹Π΅ строки ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
columnАлгоритм Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ элСмСнты, заполняя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ свСрху-Π²Π½ΠΈΠ·, добавляя Π½ΠΎΠ²Ρ‹Π΅ столбцы ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.
denseАлгоритм «ΠΏΠ»ΠΎΡ‚Π½ΠΎΠΉ» ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ элСмСнтов. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ порядок слСдования элСмСнтов, заполняя пустыС мСста Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ элСмСнтами.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid Рис. 4. ГалСрСя ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² стилС Masonry с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ автоматичСского размСщСния элСмСнтов сСтки

3.5. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ запись сСтки

ΠŸΡƒΡ‚Π΅ΠΌ явного задания Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ оси (устанавливая grid-template-rows ΠΈΠ»ΠΈ grid-template-columns ΠΈ задавая Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ none ), ΠΈ задавая, ΠΊΠ°ΠΊ автоматичСски ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ оси (устанавливая grid-auto-rows ΠΈΠ»ΠΈ grid-auto-columns ΠΈ задавая Π΄Ρ€ΡƒΠ³ΠΈΠΌ auto ).

Для grid-auto-flow Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСтся ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ подсвойства grid ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ своим Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ значСниям.

4. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ сСтки

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-сСтка устанавливаСт Π½ΠΎΠ²Ρ‹ΠΉ контСкст форматирования для элСмСнтов сСтки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обуславливаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ особСнности:

5. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ пСрСупорядочиваниС элСмСнтов сСтки

Бвойства размСщСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ свободно ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ содСрТимоС сСтки Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ порядка элСмСнтов Π² html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

5.1. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½ΠΈΠΉ сСтки
Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ†
ΠΠ°Ρ‡Π°Π»ΠΎΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ линия ΡΡ‚Ρ€ΠΎΠΊΠΈΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ линия столбца
ΠšΠΎΠ½Π΅Ρ†ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ линия ΡΡ‚Ρ€ΠΎΠΊΠΈΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ линия столбца
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ строкДиапазон столбцов
grid-row-start, grid-column-start, grid-row-end, grid-column-end
ЗначСния:
autoБвойство Π½Π΅ влияСт Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнта сСтки, указывая Π½Π° автоматичСскоС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ€Π°Π²Π½Ρ‹ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅.
имя Π»ΠΈΠ½ΠΈΠΈΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΈ конСчная линия строки/столбца Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ сСтки.
Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ имя Π»ΠΈΠ½ΠΈΠΈ?ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΈ конСчная линия строки/столбца Π·Π°Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа (ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ порядковый Π½ΠΎΠΌΠ΅Ρ€ Π»ΠΈΠ½ΠΈΠΈ сСтки Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ края явной сСтки) ΠΈ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈΠΌΠ΅Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ.
span ΠΈ Ρ†Π΅Π»ΠΎΠ΅ число ΠΈΠ»ΠΈ имя Π»ΠΈΠ½ΠΈΠΈΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово span ΠΈ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число/имя Π»ΠΈΠ½ΠΈΠΈ Π·Π°Π΄Π°ΡŽΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк для размСщСния элСмСнта сСтки.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid Рис. 5. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов сСтки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ числовых индСксов Π»ΠΈΠ½ΠΈΠΉ

5.1.1. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ сСтки

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ display grid Рис. 6. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов сСтки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ

5.2. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ запись свойств размСщСния элСмСнтов сСтки

Бвойства grid-row ΠΈ grid-column ΡΠ²Π»ΡΡŽΡ‚ΡΡ сокращСнными ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ для свойств grid-row-start / grid-row-end ΠΈ grid-column-start / grid-column-end соотвСтствСнно.

grid-area
grid-rowgrid-column
grid-row-startgrid-row-endgrid-column-startgrid-column-end

5.3. ΠŸΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов сСтки

Бвойство order Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся ΠΊ элСмСнтам сСтки. Π­Ρ‚ΠΎ влияСт Π½Π° ΠΈΡ… автоматичСскоС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ порядок отрисовки. Бвойство Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ, Π° Π½Π΅ логичСского пСрСупорядочСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

6. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов сСтки ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами

6.1. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ margin: auto

6.2. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ оси строки

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ сСтки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ оси строки (ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ для LTR-языков) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства justify-self ΠΈΠ»ΠΈ свойства justify-items (Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°-сСтки).

6.3. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ оси столбца

6.4. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами сСтки

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°ΠΌΠΈ сСтки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ послС послСднСй Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *