ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ элСмСнтов css: Бпособы смСны порядка Π²Ρ‹Π²ΠΎΠ΄Π° элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠ»ΠΈΡ‚ΠΎΡ‡Π½Π°Ρ раскладка Π½Π° CSS Flexbox с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ order ΠΈ :nth-child() | by Stas Bagretsov

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку Π½Π° CSS Flexbox, имСя ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС возмоТности CSS ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅. Она Ρ…ΠΎΡ€ΠΎΡˆΠ° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с флСксами ΠΈ Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡΡƒΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ракурса.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ CSS masonry with flexbox, :nth-child(), and order

πŸ‘‰ΠœΠΎΠΉ Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€ β€” Ρ‚Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΈΡ€Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌπŸ––. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно: ) ✈️

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда это каТСтся довольно простым, Π²Π·ΡΡ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку Π½Π° флСксах. Всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, это всСго лишь Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ flex-flow Π½Π° column wrap ΠΈ вуаля, Ρƒ вас Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Ну Ρ‚ΠΈΠΏΠ° Ρ‚ΠΎΠ³ΠΎ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создаСт сСтку с Π½Π° Π²ΠΈΠ΄ пСрСтасованным ΠΈ нСясным порядком. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½Ρ‹ свСрху Π²Π½ΠΈΠ· ΠΈ люди, смотрящиС Π½Π° сСтку слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ боксы Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΌ, довольно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ 1, 3, 6, 2, 4, 7, 8, 5 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΈ Ρ‚. ΠΏ.

Π£ флСксов Π½Π΅Ρ‚ простого способа ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ элСмСнты Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠΉ раскладки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ расстановку элСмСнтов, Π½ΠΎ ΠΌΡ‹ всё ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CSS β€” Π±Π΅Π· JavaScript β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойства :nth-child() ΠΈ order. По сути, это Ρ‚Ρ€ΡŽΠΊ с созданиСм строчной расстановки элСмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ flex-direction: column, учитывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠΌ 3 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

/*  Π Π΅Π½Π΄Π΅Ρ€ΠΈΠΌ элСмСнты ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ */
.container {
display: flex;
flex-flow: column wrap;
}

/* МСняСм порядок элСмСнтов, дСлая ΠΊΠ°ΠΊ Π±Ρ‹ ΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ расстановку */
.item:nth-child(3n+1) { order: 1; }
.item:nth-child(3n+2) { order: 2; }
.item:nth-child(3n) { order: 3; }

/* НовыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ */
. container::before,
.container::after {
content: "";
flex-basis: 100%;
width: 0;
order: 2;
}

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

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ (Π½Ρƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π΅Ρ‘ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈΠ»ΠΈ ΠΊ codepen).

Flexbox ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ Π½Π΅ создан для построСния ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½Ρ‹Ρ… раскладок β€” Ссли Π²Ρ‹ выставитС Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ высотку Π½Π° флСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΈ flex-flow Π½Π° column wrap, Ρ‚ΠΎ Ρƒ вас получится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ:

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

Если ΠΆΠ΅ ΠΌΡ‹ смСним flex-direction Π½Π° row, имСя элСмСнты с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ высотами, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ порядок, Π½ΠΎ ΡƒΠΆΠ΅ со стрёмными ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π°ΠΌΠΈ ΠΏΠΎ всС нашСй сСткС:

Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎ, каТСтся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами ΠΎΠ±ΠΎΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ строчный порядок. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΡ‚ΡŒ ΠΊ flex-direction: column ΠΈ просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² HTML, достигнув ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ порядка, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ это излишнС слоТно ΠΈ создаст Π½Π΅Ρ€Π°Π·Π±Π΅Ρ€ΠΈΡ…Ρƒ Π² логичСском порядкС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… ΠΏΠΎ клавишС табуляции (ΠŸΡ€ΠΎΡΡ‚ΠΎ кликая ΠΏΠΎ Ρ‚Π°Π±Ρƒ).

Бвойство order влияСт Π½Π° порядок элСмСнтов Π² CSS Flexbox ΠΈΠ»ΠΈ Π³Ρ€ΠΈΠ΄Π΅, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ смСло ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для смСны порядка элСмСнтов Π² нашСй ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΠΎΠΉ раскладкС, которая Π²ΠΎΡ‚ Π²ΠΎΡ‚ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ сдСлана ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ. Бвойство order довольно простоС Π² использовании: Ссли Ρƒ вас Π΄Π²Π° элСмСнта ΠΈ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ стоит order: 1, Π° Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ order: 2, Ρ‚ΠΎ элСмСнт с order: 1 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ€Π΅Π½Π΄Π΅Ρ€Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом, Π²Π½Π΅ зависимости ΠΎΡ‚ ΠΈΡ… порядка Π² HTML исходникС.

Π’ нашСм случаС, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ тонкостСй спСцификации order: Ρ‡Ρ‚ΠΎ случится, Ссли Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов Π±ΡƒΠ΄ΡƒΡ‚ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ order? Какой ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ? Π’ этом случаС, flexbox опираСтся Π½Π° исходный ΠΊΠΎΠ΄: Ρ‚ΠΎΡ‚ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² исходном HTML ΠΊΠΎΠ΄Π΅, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ order. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π² сСткС Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ смоТСм ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок расстановки элСмСнтов с ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π½Π° строчный, всё Π΅Ρ‰Ρ‘ рСндСря эти строки, ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ nth-child().

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ Π½ΠΈΠΆΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ порядок с использованиСм flex-direction: row, Π½Π°ΠΌ просто Π½Π°Π΄ΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ элСмСнты Π² стандартном порядкС: 1, 2, 3, 4, 5, 6, ΠΈ Ρ‚.Π΄.

Но Ссли Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ порядок с использованиСм flex-direction: column, Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ Π½Π°ΠΌ понадобится ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ сам порядок элСмСнтов, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ соотвСтствовал порядку ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (Π° Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки):

Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ элСмСнтами Π² нашСй флСксбокс раскладкС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ 1, 4, 7, 10. Π­Ρ‚ΠΈ элСмСнты заполнят ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, Π΄Π°Π»Π΅Π΅ 2, 5, 8, 11 для Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ 3, 6, 9, 12 для Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΈ послСднСй ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π’ΡƒΡ‚ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ сСлСктор nth-child(). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт (3n), начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта (3n + 1) ΠΈ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всСм этим элСмСнтам ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ order:

.item:nth-child(3n+1) { order: 1; }

Π­Ρ‚ΠΎΡ‚ сСлСктор выставит order: 1 для элСмСнтов 1, 4, 7, 10, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ nth-child() ΠΈ order, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов Π½Π° ΠΈΡ… ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ 2 ΠΈ 3 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ порядок Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов:

.item:nth-child(3n+1) { order: 1; }
.item:nth-child(3n+2) { order: 2; }
. item:nth-child(3n) { order: 3; }

Π’ΡƒΡ‚ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ элСмСнтов: 1, 4, 7, 10 (3n+1) c order: 1, Π΄Π°Π»Π΅Π΅ 2, 5, 8, 11 (3n+2) с order: 2 ΠΈ 3, 6, 9, 12 (3). Всё вмСстС Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ Ρ‚Π°ΠΊΠΎΠΉ порядок элСмСнтов 1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9, 12.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ создаст иллюзию Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнты Π²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ ΠΊ своСму ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ порядку, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ рассматривали ΠΈΡ… Π² порядкС слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Если Π±Ρ‹ ΠΌΡ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π»ΠΈ эту сСтку ΠΏΠΎ строкам, Ρ‚ΠΎ пСрвая строка Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° Π±Ρ‹ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ (1, 2, 3), вторая строка содСрТала Π±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ (4, 5, 6) ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΈ Ρ‚.ΠΏ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку с элСмСнтами, ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ порядок ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π² строчном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅.

А ΠΊΠ°ΠΊ это влияСт Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ с использованиСм Ρ‚Π°Π±ΠΎΠ²? Π”Π° Π½ΠΈΠΊΠ°ΠΊ. Бвойство order мСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Π½Π΅ порядок ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎ клавишС TAB, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² этом ΠΏΠ»Π°Π½Π΅ всё Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ прСдполагаСтся.

Если Ρƒ вас довольно ΠΌΠ½ΠΎΠ³ΠΎ элСмСнтов Π² раскладкС, Ρ‚ΠΎ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ 100% ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ. ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ расчёт Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ каТдая β€œΠ³Ρ€ΡƒΠΏΠΏΠ°β€, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ создали, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½Π° Ρ€ΠΎΠ²Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Π½ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρƒ элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ высоты ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с Π»ΠΈΡ…Π²ΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π²Π΅, для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ Π±Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒ Π±Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ:

ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ элСмСнт (3) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ расстановки попросту ΠΏΠΎΠ»Π΅Ρ‚ΠΈΡ‚ Π² Ρ‚Π°Ρ€Ρ‚Π°Ρ€Π°Ρ€Ρ‹, ΠΈ Ссли Π΅ΡΡ‚ΡŒ мСсто для Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‚ΠΎ ΠΎΠ½ само собой Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½ Ρ‚Π°ΠΌ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, заставив ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ‚ΡŒΡΡ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹. Π’ΠΎΠΎΠ±Ρ‰Π΅, с флСксбоксами Π½Π΅Ρ‚ простого способа для указания β€œΡΡ‚ΠΎΡ‚ элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку”, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ этого эффСкта, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·ΡŒΠΌΡƒΡ‚ 100% высоты ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 100% высоты родитСля, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ помСстятся Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ вмСстС с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом, создавая Ρ‚Π΅ΠΌ самым, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ строки.

Нам Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ Π² сСтку ΠΈ массив элСмСнтов, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ такая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: 1, 4, 7, 10,<ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄>, 2, 5, 8, 11,<ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄>, 3, 6, 9, 12. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдоэлСмСнты Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ order Π½Π° 2 ΠΎΠ±ΠΎΠΈΠΌ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ псСвдоэлСмСнта :before, сдСлаСт Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ псСвдоэлСмСнта :after сдСлаСт Π΅Π³ΠΎ послСдним ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ выставим order: 2 ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ…, Ρ‚ΠΎ ΠΎΠ½ΠΈ станут ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ послСдним элСмСнтом β€œΠ³Ρ€ΡƒΠΏΠΏΡ‹β€ с order: 2 (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ находятся Π΄ΠΎ ΠΈ послС Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов): :before, 2, 5, 8, 11, :after.

/* НовыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ */
.container::before,
. container::after {
content: "";
flex-basis: 100%;
width: 0;
order: 2;
}

Π― подсвСтил псСвдоэлСмСнты Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡ… эффСкт. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ элСмСнт 3 ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, Π½ΠΎ ΠΎΠ½ отобраТаСтся ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π² послСднСй:

И Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ваш флСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ высоту Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ ваша самая высокая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° (Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈΡΡŒ). Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё это совмСститС ΠΈ Ρ‚Π°ΠΊ Π²Ρ‹ смоТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Ρ‚Ρ€Π΅Ρ…ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку (Π²ΠΎΡ‚ codepen).

.container {
display: flex;
flex-flow: column wrap;
align-content: space-between;
/* Π’Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½Π° фиксированная высота
*
ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ самая высокая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°. */
height: 600px;
}

.item {
width: 32%;
margin-bottom: 2%; /* Optional */
}

/* ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ элСмСнты Π² 3 ряда */
. item:nth-child(3n+1) { order: 1; }
.item:nth-child(3n+2) { order: 2; }
.item:nth-child(3n) { order: 3; }

/* НовыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ */
.container::before,
.container::after {
content: "";
flex-basis: 100%;
width: 0;
order: 2;
}

Π’Π°Ρˆ html Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ, Π³Π΄Π΅ div это ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² сСткС:

<div>
<div></div>
<div></div>
<div></div>
...
</div>

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку с Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ трСмя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько Π²Π΅Ρ‰Π΅ΠΉ: Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ элСмСнтов ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ строки Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ (вмСсто использования псСвдоэлСмСнтов). Для быстрого доступа ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ я собрал список codepen’ов ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ раскладку Π½Π° флСксах для 3, 4, 5 ΠΈ 6 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

Π”ΠΎ этого ΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ созданиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²ΡƒΡ… псСвдоэлСмСнтов с :before ΠΈ :after, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΡ‚ΡŒ ΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ добавлСнию ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π½Π° Π½ΠΎΠ²Ρ‹Π΅ строки Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (Π²Π°ΠΌ трСбуСтся Π½Π° ΠΎΠ΄ΠΈΠ½ элСмСнт-Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ мСньшС, Ρ‡Π΅ΠΌ количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² вашСй раскладкС). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ отсортированы ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ:

<div>
<div></div>
<div></div>
<div></div>
<div></div>
...
<span></span>
<span></span>
<span></span>
</div>

ΠœΡ‹ вставляСм Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΊΠ°ΠΊ span, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² нСзависимости ΠΎΡ‚ элСмСнтов ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Нам Π½ΡƒΠΆΠ΅Π½ способ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ счСт послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ достигнСм элСмСнт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ число элСмСнтов сдСлаСт старт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ раздСлитСля послС 3 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ :nth-of-type Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ элСмСнты Π²Π½Π΅ зависимости ΠΎΡ‚ ΠΈΡ… Ρ‚ΠΈΠΏΠ°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ порядок элСмСнтов ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

.item:nth-of-type(4n+1) { order: 1; }
.item:nth-of-type(4n+2) { order: 2; }
.item:nth-of-type(4n+3) { order: 3; }
.item:nth-of-type(4n) { order: 4; }

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π²ΠΎΠ·ΡŒΠΌΡƒΡ‚ всю высоту ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

/*  ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ */
.break {
flex-basis: 100%;
width: 0;
margin: 0;
}

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это создаст ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с 4-мя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ (Π²ΠΎΡ‚ codepen):

Π’ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для CSS Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΠΎΠΉ раскладки с 4-мя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ:

. container {
display: flex;
flex-flow: column wrap;
align-content: space-between;
height: 600px;
}

.item {
width:24%;
margin-bottom: 2%; /* ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ */
}

.item:nth-of-type(4n+1) { order: 1; }
.item:nth-of-type(4n+2) { order: 2; }
.item:nth-of-type(4n+3) { order: 3; }
.item:nth-of-type(4n) { order: 4; }

.break {
flex-basis: 100%;
width: 0;
margin: 0;
}

Π­Ρ‚ΠΎΡ‚ способ создания ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½ΠΎΠΉ раскладки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСдствами CSS, Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ являСтся самым Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈΠ»ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ Π²Π½Π΅Π·Π°ΠΏΠ½Ρ‹Ρ… косяков со стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ исполнСния Π½Π° JavaScript (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Masonry), Π½ΠΎ Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ раскладку, Ρ‚ΠΎ я надСюсь, Ρ‡Ρ‚ΠΎ эти совСты Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flexbox, Π° ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS Grid

FlexboxΒ Π±Ρ‹Π» прСдставлСн Π² 2009 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ новая тСхнология для облСгчСния создания Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π΅Π±-страниц ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнтов Π½Π° Π½ΠΈΡ…, ΠΈ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС большСС ΠΈ большСС распространСниС.Β Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ основной инструмСнт вёрстки для соврСмСнных Π²Π΅Π±-страниц.

Flexbox — это одномСрная систСма вёрстки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для установлСния элСмСнтов ΠΏΠΎ оси строки ΠΈΠ»ΠΈ столбца, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π½Π°ΡˆΡƒ Тизнь ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ создании Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π΅Π±-страниц Π±Π΅Π· использования Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΈ мноТСства свойств float ΠΈ position Π² Π½Π°ΡˆΠΈΡ… стилях CSS.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flexbox, всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Β«Π³ΠΈΠ±ΠΊΠΈΠΉΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΒ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° display:Β flex. ПослС этого ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ вас Π΅ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, прСвращаСтся Π² Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт.Β 

ОсновноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ наши Flex элСмСнты ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ — это строка.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡˆΠΈΡ… Flex элСмСнтов Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΈΠ· строки Π½Π° столбСц, пСрСдав свойство: flex-direction:Β column

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

НапримСр, прСдставим, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒΒ div элСмСнт, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΒ div Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ элСмСнта с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ высотой:

<div>
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Π’ нашСм CSS ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Flexbox для упорядочивания ΠΈ выравнивания Π½Π°ΡˆΠΈΡ… элСмСнтов:

#container
{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-evenly;
  padding: 10px;
}
#one,
#two, 
#three
{
  width: 200px;
  height: 100%;
  background: red;
}

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство order.  Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΒ idΒ  #two, ΠΌΡ‹ Π±Ρ‹ сдСлали это:

#two
{
  order: 3;
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш элСмСнт являСтся послСдним Π² Flex ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅.Β Π­Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ прСдоставил Flexbox, ΠΈ ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для стилизации ΠΈ выравнивания элСмСнтов.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Flexbox — это систСма ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ вёрстки, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ разбСрСмся, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ CSS-Grid ΠΈ различия ΠΌΠ΅ΠΆΠ΄Ρƒ этими систСмами вёрстки.

CSS Grid

Если Flexbox являСтся ΠΌΠΎΡ‰Π½ΠΎΠΉ систСмой вёрстки, Π½ΠΎ ΠΎΠ½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Π° (это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строками ΠΈΠ»ΠΈ столбцами), Ρ‚ΠΎ CSS Grid Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ считаСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠΉ доступной систСмой вСрстки.

CSS Grid — это двумСрная систСма ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ — ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строками ΠΈ столбцами вмСстС, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… возмоТностСй для создания Π±ΠΎΠ»Π΅Π΅ слоТного ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования Π²Π΅Π±-страниц, Π½Π΅ прибСгая ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ β€œΠ±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΌ способам”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ «сСтчатый» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свойство Π²Π°ΡˆΠ΅ΠΌΡƒ β€œdisplay: grid” элСмСнту Π±Π»ΠΎΠΊΠ°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ сСтка, поэтому Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, сколько строк ΠΈ столбцов Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Для создания строк Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ свойство β€œgrid-template-rows” ΠΈ Π·Π°Π΄Π°Ρ‘Ρ‚Π΅ ΠΈΡ… ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

grid-template-rows: 200px 200px;

Для создания столбцов — это ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС — ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свойство grid-template-columns:

grid-template-columns: 200pxΒ  200px;

Но Ссли Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅ эти систСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ интСрСсно ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· Π½ΠΈΡ… ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ситуации ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ? ΠœΡ‹ рассмотрим это Π΄Π°Π»Π΅Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΌΡ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½Π΅ΠΌ различия ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

CSS Grid ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Flexbox — для выравнивания.

Π•Ρ‰Π΅ Π² Ρ‚ΠΎ врСмя, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Flexbox, ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ°Ρ систСма вСрстки для создания Π½Π°ΡˆΠΈΡ… Π²Π΅Π±-страниц, Π½ΠΎ это Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ.

Flexbox ΠΏΠΎΠΌΠΎΠ³ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π² обслуТивании Π²Π΅Π±-прилоТСния, Π½ΠΎ основная идСя ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ систСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ вёрстку с Π±ΠΎΠ»Π΅Π΅ слоТным Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ.

CSS Grid Π΄Π°Π»Π° Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ вёрстку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ способ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ°ΠΊ строки, Ρ‚Π°ΠΊ ΠΈ столбцы. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Π° вмСстС, Π½ΠΎ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. Для формирования структуры Π²Π΅Π±-страницы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CSS Grid, для выравнивания элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Flexbox.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Flexbox, ΠΊΠΎΠ³Π΄Π°:

  1. Π£ вас нСбольшой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” Flexbox идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° Ρƒ вас нСбольшой Π΄ΠΈΠ·Π°ΠΉΠ½ вёрстки для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, с нСсколькими строками ΠΈΠ»ΠΈ нСсколькими столбцами;
  2. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты β€” Flexbox идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этого, СдинствСнноС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ display: flex Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ;
  3. Π’Ρ‹ создаётС страницу ΠΏΠΎ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠΌΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ β€” Flexbox — это идСальная систСма ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ для создания Π²Π΅Π±-страниц, Ссли Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ваш ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, поэтому, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё просто соотвСтствовало, Flexbox идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этого.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ всС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Flexbox, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ создавали с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS grid, это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Но для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ CSS, для Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² обслуТивании прилоТСния Π² долгосрочной пСрспСктивС, для идСального создания ΠΈ ΠΏΠΎΠ΄Π³ΠΎΠ½ΠΊΠΈ вашСго ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся использованиС CSS Grid.

CSS Grid Π»ΡƒΡ‡ΡˆΠ΅, ΠΊΠΎΠ³Π΄Π°:

  1. Π£ вас слоТный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ слоТныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΈ проявляСтся магия CSS grid. БистСма Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ здСсь идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для создания вёрстки со слоТным Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² Π½Π°ΡˆΠΈΡ… интСрСсах для создания Π±ΠΎΠ»Π΅Π΅ слоТных ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π² обслуТивании Π²Π΅Π±-страниц;
  2. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π°Π·ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π±Π»ΠΎΠΊΠ° β€” Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Π²Π΅Ρ‰ΡŒ, которая ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² CSS Grid, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρƒ нас Π½Π΅Ρ‚ Π²ΠΎ Flexbox, — это свойство gap. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ нашими строками ΠΈΠ»ΠΈ столбцами, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство margin, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты, особСнно Ссли ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ останова;
  3. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ элСмСнты β€” ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ элСмСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS Grid ΠΎΡ‡Π΅Π½ΡŒ просто, Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойства grid-column ΠΈ grid-row, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты.
    Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, с Flexbox Π½Π°ΠΌ всС Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Π°ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ поля, прСобразования ΠΈΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  4. Π’Ρ‹ вСрстаСтС ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ β€” ΠΊΠΎΠ³Π΄Π° Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ структура ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ вёрстки, Π΅Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS Grid, ΠΈ систСма Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строки ΠΈ столбцы вмСстС ΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ элСмСнты Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ;

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅:

CSS Grid ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вСрстки, Flexbox — для выравнивания

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования CSS Grid, Π΄Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ основныС элСмСнты Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π£ нас Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ», Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню, содСрТимоС основного Π±Π»ΠΎΠΊΠ° ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ». Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот ΠΌΠ°ΠΊΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS Grid, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ наши элСмСнты:

<div>
  <header>Header</header>
  <aside>Aside</aside>
  <main>Main</main>
  <footer>Footer</footer>
</div>

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ создадим наш сСточный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ display: grid, Π° Π·Π°Ρ‚Π΅ΠΌ создадим нСсколько строк ΠΈ столбцов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

#container {
  width: 100%;
  height: 100vh;
  background: yellow;
  display: grid;
  grid-template-rows: 80px 600px 80px;
  grid-template-columns: 0. 5fr 1fr;
}
header {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  background: blue;
}
aside {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  background: green;
}
main {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  background: pink;
}
footer {
  grid-column: 1 / 3;
  grid-row: 3
/ 4;
  background: yellow;
}

Π’ΠΎΡ‚ ΠΈ всС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 30 строк CSS, ΠΌΡ‹ создаём наш Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎΡ‡Π΅Π½ΡŒ просто, Π±Π΅Π· нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ…Π°ΠΊΠΈ, ΠΊΠ°ΠΊ float ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡˆΠΈΡ… элСмСнтов ΠΈ Π±Π΅Π· нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΈΠ±ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ для своСго прилоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ построСнный Π²Π΅Π±-ΠΌΠ°ΠΊΠ΅Ρ‚ для вашСго прилоТСния, — это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… вмСстС.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊ CSS Grid, Ρ‚Π°ΠΊ ΠΈ Flexbox, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΎΡ‰ΡŒ ΠΎΠ±Π΅ΠΈΡ… систСм ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ вмСстС. Π’Π½ΡƒΡ‚Ρ€ΠΈ нашСго header, ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ div элСмСнта, ΠΈ ΠΌΡ‹ собираСмся Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΈΡ… Π² ряд.

Для этого всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ наш header Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства display: flex, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ оси ΠΊΠ°ΠΊ строки (flex-direction: row) ΠΈ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты.

header {
  column: 1  ;
  row: 1  ;
  background: blue;
  display:;
  -direction: row;
  alignitems: center;
  justifycontent:-;
  padding: ;
}

ΠœΠΎΡ‰Π½Π°Ρ Π²Π΅Π±-страница, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ CSS Grid для вСрстки ΠΈ Flexbox для выравнивания.

Для основного стиля ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS Grid, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это двумСрная систСма ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ со строками, Ρ‚Π°ΠΊ ΠΈ со столбцами. А для Π±ΠΎΠ»Π΅Π΅ простого стиля ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flexbox, ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΡƒΡŽ систСму, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками.

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ различиях ΠΌΠ΅ΠΆΠ΄Ρƒ Flexbox ΠΈ CSS Grid, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π² нашСм CSS для достиТСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Share with friends:

ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈ мСстами css β€” Dudom

Flexbox (флСксбокс) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для вёрстки Π³ΠΈΠ±ΠΊΠΈΡ… ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π•ΠΆΠ΅Π»ΠΈ свойство display ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ flex , Π΅Π³ΠΎ прямыС ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ становятся flex-элСмСнтами, порядком слСдования ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойств flex-flow ΠΈ order .

order

Если Ρƒ flex-элСмСнтов ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ order , Ρ‚ΠΎ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ Ρ‚Π΅Π³ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ послС Π²Π΅Ρ€Ρ…Π½ΠΈΡ… (ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

Π§Π΅ΠΌ мСньшС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ order , Ρ‚Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ flex-элСмСнт

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 3-ΠΈΠΉ flex-элСмСнт ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 3-ΠΈΠΉ flex-элСмСнт послСдним

ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ flex-элСмСнт с классом .ad Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ

ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ flex-элСмСнты Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎ (Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ, бСспорядочно, случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ)

Бвойство order мСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ порядок

Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π² порядкС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π² HTML-ΠΊΠΎΠ΄Π΅, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ

  1. сканированиС/воспроизвСдСниС страницы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ чтСния, поисковыми Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ,
  2. ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкам с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиши ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Tab , искл., Mozilla Firefox (ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° tabindex ).

Автор изобраТСния [adrianroselli. com]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

5 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²:

Π“Π°Π»ΠΈΠ½Π° Молдованова Π•ΡΡ‚ΡŒ ΠΆΠ΅Π½Ρ‰ΠΈΠ½Ρ‹ Π² русских ΡΠ΅Π»Π΅Π½ΡŒΡΡ…
Π‘ спокойною Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π»ΠΈΡ†,
Π‘ ΠΊΡ€Π°ΡΠΈΠ²ΠΎΡŽ силой Π² Π΄Π²ΠΈΠΆΠ΅Π½ΡŒΡΡ…,
Π‘ ΠΏΠΎΡ…ΠΎΠ΄ΠΊΠΎΠΉ, со взглядом Ρ†Π°Ρ€ΠΈΡ†,β€”

Π˜Ρ… Ρ€Π°Π·Π²Π΅ слСпой Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚,
А зрячий ΠΎ Π½ΠΈΡ… Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:
Β«ΠŸΡ€ΠΎΠΉΠ΄Π΅Ρ‚ β€” словно солнцС освСтит!
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚ β€” Ρ€ΡƒΠ±Π»Π΅ΠΌ ΠΏΠΎΠ΄Π°Ρ€ΠΈΡ‚!Β»

ΠΠ°Ρ‚Π°Π»ΡŒΡ, спустя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ» Π³ΠΎΠ΄Π° я Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅! Π”Π°, Ρƒ вас Π½Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… инструкций для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ язык html, Ρ‚ΠΎ каТдая ваша публикация- ΡˆΠ΅Π΄Π΅Π²Ρ€. Π­Ρ‚ΠΎ Π½Π΅ сайт,Π° Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° для Π±Π»ΠΎΠ³Π΅Ρ€ΠΎΠ² (ИМΠ₯О). Бпасибо Π’Π°ΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π·Π° ваши Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Ρ‹. Благодаря Π²Π°ΠΌ я ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Π½Π° этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. А всС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с Π²Π°ΡˆΠΈΡ… слов:» УвлСклась html ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ‡Π°Π»Π° Π² сообщСниях ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ html (дословно Π½Π΅ помню).Π’Π« УМНИЧКА. МСня Π΄Π°ΠΆΠ΅ Π²ΠΎΡΡ…ΠΈΡ‰Π°ΡŽΡ‚ большС Π½Π΅ сами ΡΡ‚Π°Ρ‚ΡŒΠΈ( хотя ΠΎΠ½ΠΈ бСсцСнны) Π° ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚Π΅ Π² коммСнтариях. NMitra Бпасибо, Π“Π°Π»ΠΈΠ½Π°, Π·Π° прСкрасныС слова!

А я ΠΏΠΎΠ΄Π³Π»ΡΠ΄Ρ‹Π²Π°ΡŽ Π·Π° Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹ΠΌΠΈ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΏΠ»ΠΎΡ…ΠΎ понимаю ΠΎ Ρ‡Ρ‘ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ статСй написано πŸ™‚ Π£ мСня ΡƒΠΆΠ΅ ΠΊΡƒΡ‡Π° Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ с ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΎΠΉ «ΡΡ‚ΠΎ интСрСсно, Π½Π΅ мСшало Π±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ сСйчас», Ρ‚ΠΈΠΏΠ° https://www. smashingmagazine.com/2016/06/make-music-in-the-browser-with-a-web-audio-theremin/ Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, я ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»Π°Π²Π»ΠΈΠ²Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ срСдствами. А ΡƒΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΡƒ. БСйчас Π·Π°Ρ…ΠΎΡ‚Π΅Π»Π° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·ΠΈΠ½ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π°ΠΌΠΈ http://shpargalkablog.ru/2016/05/gallery-videos.html (ΡΡ‚Π°Ρ‚ΡŒΡ Π΅Ρ‰Ρ‘ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅), float-Π°ΠΌΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π²ΠΎΡ‚ ΠΈ вспомнила ΠΏΡ€ΠΎ флСксбоксы.

Зная html, css ΠΈ js, ΠΌΠΎΠΆΠ½ΠΎ красивыС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ, сразу Π² разряд Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² ΡƒΡ…ΠΎΠ΄ΠΈΡˆΡŒ ΠΏΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ. ОсобСнно ΠΏΡ€ΠΈ написании статСй Π½Π΅ ΠΏΡ€ΠΎ ΠΊΠΎΠ΄ πŸ™‚ НСсмотря, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΡ… статСй Π½Π° «Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ΅» ΠΌΠ°Π»ΠΎ, количСство посСтитСлСй с Π½ΠΈΡ… Π½Π΅ малСнькоС.

МнС Π½Π΅ Π΄Π°Π½ΠΎ красиво ΠΈ многословно Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Π²Ρ‹ΠΌΡƒΡ‡ΠΈΠ²Π°ΡŽ ΠΈΠ· сСбя ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽ нСсколько Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сказанноС ΠΏΠΎΡ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈ покрасочнСС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Ρ€Π°Ρ‡Ρƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ связанныС прСдлоТСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΌΠΎΡ‘ΠΌ случаС Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ отсутствиС ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… инструкций πŸ™‚ NMitra Π—Π°Ρ‚ΠΎ Π² коммСнтариях ΠΎΡ‚Ρ€Ρ‹Π²Π°ΡŽΡΡŒ πŸ™‚ Π“Π°Π»ΠΈΠ½Π° Молдованова Π‘Π°Π»ΡƒΠ΅Ρ‚Π΅ΡΡŒ?!))) Π Π°Π·Π²Π΅ это ΠΎΡ‚Ρ€Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ, Ссли Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ вопрос Π΄Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ всС ΠΌΠΎΠ³Ρƒ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² шаблонС, Π° ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° слоТно! НС Π³ΡƒΠΌΠ°Π½ΠΈΡ‚Π°Ρ€ΠΈΠΈ ΠΌΡ‹, Π° Ρ‚Π΅Ρ…Π½Π°Ρ€ΠΈ!

Π£ вас Π³Π΄Π΅-Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π»Π° Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, Ρ‡Ρ‚ΠΎ с ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄Ρ€ΡƒΠΆΠΈΠ»ΠΈ? Или я Π½Π΅ Ρ‚Π°ΠΊ поняла?! Π₯отя я ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ сомнСваюсь! Π›ΠΈΡ‡Π½ΠΎ Ρƒ мСня Π½Π΅ ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠΈΠΉΡΡ Ρ„ΠΈΠ·ΠΌΠ°Ρ‚, ΠΎ,5 Π±Π°Π»Π»Π° Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ. А Ρ‚Π°ΠΊ Π±Ρ‹ Π±Ρ‹Π»Π° ΡƒΡ‡ΠΈΠ»ΠΊΠ° Ρ„ΠΈΠ·ΠΈΠΊΠΈ ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ!)

ΠΠ°Ρ‚Π°ΡˆΠ°,я ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ люблю ΠΈΠ΄Ρ‚ΠΈ ΠΊ Ρ†Π΅Π»ΠΈ сама ΠΈ Π½Π΅ Π½Π°Π΄ΠΎΠ΅Π΄Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ Π±Π»ΠΎΠ³Π°. ΠžΠ±Ρ€Π°Ρ‰Π°ΡŽΡΡŒ Π² ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях, понимаю Ρ‡Ρ‚ΠΎ всС ΠΎΡ‡Π΅Π½ΡŒ заняты.

БСгодня, создавая сайт, Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сразу задумываСтся ΠΎ Π΅Π³ΠΎ мобильной вСрсии. ΠžΡ‡Π΅Π½ΡŒ часто Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ПК Π±Π»ΠΎΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π° Π² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами.

НапримСр, посмотритС Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ вСрстки Π½ΠΈΠΆΠ΅. Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вСрстка Ρ‡Π΅Ρ€Π΅Π· float: left для ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ тСкста с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π² ΠΎΠ±ΠΎΠΈΡ… Π±Π»ΠΎΠΊΠ°Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ экран, Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π΄ΠΎΠΌΠ° Π²Π½ΠΈΠ·Ρƒ станСт Π½Π΅ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² структурС ΠΎΠ½Π° стоит ΠΏΠ΅Ρ€Π²ΠΎΠΉ.

А Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° (Ρ‚. Π΅. ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами Π±Π»ΠΎΠΊ с тСкстом ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ)

ДСлаСтся это ΠΎΡ‡Π΅Π½ΡŒ просто Ρ‡Π΅Ρ€Π΅Π· display: flex ΠΈ order . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ идСю, рассмотрим Ρ‚Π°ΠΊΡƒΡŽ структуру:

ПомСняСм порядок Π±Π»ΠΎΠΊΠΎΠ² Π·Π°Π΄ΠΎΠΌ-Π½Π°ΠΏΠ΅Ρ€Π΅Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого css стиля:

Если Π²Ρ‹ запуститС этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° своСм сайтС, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ послСдний Π±Π»ΠΎΠΊ стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, прСдпослСдний β€” Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈ Ρ‚.Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒ порядок Π±Π»ΠΎΠΊΠΎΠ² ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свойство order с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ порядкового Π½ΠΎΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ°. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, счСт ΠΈΠ΄Π΅Ρ‚ с нуля. Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ display: flex; flex-flow: wrap; Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ².

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ экрана, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, мСньшСй 768px ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свойство display: flex; ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ порядок Π»ΡŽΠ±Ρ‹Ρ… html элСмСнтов, ΠΊΠ°ΠΊ Π½Π°ΠΌ вздумаСтся.

А Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΠ·Π±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΎΡ‚ float-Π° ΠΈ смСло ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° flex, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π³ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС возмоТностСй Π² вСрсткС ΠΈ ΠΎΠ½ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π΅Π½ Π½Π° соврСмСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ вас Π½Π° сайтС Impuls-Web!

Π’ сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈ Π½Π° сайтС мСстами, ΠΏΡ€ΠΈ этом Π½Π΅ внося Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€Π°Π²ΠΎΠΊ Π² HTML ΠΈΠ»ΠΈ PHP ΠΊΠΎΠ΄. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСго нСсколько CSS-свойств.

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

МСняСм Π±Π»ΠΎΠΊΠΈ мСстами ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ float

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ Π²ΠΎΡ‚ такая страница сайта:

На ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Π»ΠΎΠΊ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ выводится с Π»Π΅Π²ΠΎΠΉ стороны, Π° сайтбар выводится с ΠΏΡ€Π°Π²ΠΎΠΉ стороны. Π”Π°Π²Π°ΠΉΡ‚Π΅ помСняСм мСстами Π±ΠΎΠΊ сайтбара ΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π‘Π΄Π΅Π»Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΈ Ρƒ нас Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ CSS-свойства для Π±Π»ΠΎΠΊΠΎΠ², Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ класс ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚.

    1. КликаСм ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ элСмСнту, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт» ΠΈ Π΄Π°Π»Π΅Π΅ инспСктируСм Π΅Π³ΠΎ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ класс ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ присваиваСтся этому элСмСнту.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС наш элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° класса, класс content ΠΈ класс fleft. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, класс content ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот Π±Π»ΠΎΠΊ, Π½ΠΎ Π΅Ρ‰Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ Π½Π° сайтС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ классу fleft, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΠ½ выглядит Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π½Ρ‹ΠΌ.

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ этого Π±Π»ΠΎΠΊΠ°, ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ класс fright. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ, ΠΈ для Π½Π΅Π³ΠΎ приписываСм Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΎΠ±Ρ‚Π΅ΠΊΠ°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ.

6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ сохраняСм измСнСния Π² Ρ„Π°ΠΉΠ»Π΅, обновляСм Π½Π°ΡˆΡƒ страницу, ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас эти Π΄Π²Π° Π±Π»ΠΎΠΊΠ° помСнялись мСстами.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строчСк ΠΊΠΎΠ΄Π°, ΠΎΡ‡Π΅Π½ΡŒ быстро помСняли ΠΈΡ… мСстами.

ИзмСняСм порядок отобраТСния Π±Π»ΠΎΠΊΠΎΠ²

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ страница с Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ структурой Π±Π»ΠΎΠΊΠΎΠ²:

Если ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами Π±Π»ΠΎΠΊ с тСкстом ΠΈ Π±Π»ΠΎΠΊ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΌ достаточно Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство float ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ left ΠΈΠ»ΠΈ right. Однако Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту страницу ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… экранах, послС пСрСстроСния Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, Ρƒ нас эти Π±Π»ΠΎΠΊΠΈ выглядят Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ красиво.

Π£ нас ΠΈΠ΄Π΅Ρ‚ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ сначала ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ тСкст, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ сначала тСкст, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΎΠΏΡΡ‚ΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ красивСС ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Π΅Π΅, Ссли Π±Ρ‹ Ρƒ нас ΠΈ послС пСрСстроСния всС Π±Π»ΠΎΠΊΠΈ выглядСли ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ всСх Π±Π»ΠΎΠΊΠ°Ρ… сначала Π±Ρ‹Π»Π° Π±Ρ‹ Π·Π°Π΄Π°Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ тСкст.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ CSS-свойства float ΠΌΡ‹ ΡƒΠΆΠ΅ Π½ΠΈ ΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ здСсь Π½Π° порядок располоТСния элСмСнтов. Однако Ρƒ нас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ CSS-свойство display:flex, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Если Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π·Π°Π΄Π°Π²Π°Π»ΠΈ ΠΈΠ»ΠΈ измСняли CSS-свойство float ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ для Ρ‚Π΅Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами. Π’ΠΎ здСсь Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ этих элСмСнтов.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ класс text-row, Π²Π½ΡƒΡ‚Ρ€ΠΈ этого Π±Π»ΠΎΠΊΠ° находится Π΅Ρ‰Π΅ Π΄Π²Π° Π±Π»ΠΎΠΊΠ°, это Π±Π»ΠΎΠΊ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π±Π»ΠΎΠΊ с тСкстом. Π‘Π»ΠΎΠΊ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ класс image-block, Π° Π±Π»ΠΎΠΊ с тСкстом ΠΈΠΌΠ΅Π΅Ρ‚ класс description-block.

Наша Π·Π°Π΄Π°Ρ‡Π° Π·Π°Π΄Π°Ρ‚ΡŒ для Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Ρ‚Π΅Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ мСстами, CSS-свойство display:flex ΠΈ свойство flex-flow. Π’ нашСм случаС это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

initial0
inheritнаслСдуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ родитСля
unset0

html β€” Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов div, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CSS?

Π£ мСня Π΅ΡΡ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΊΠΎΠ΄, сдСланный ΠΌΠ½ΠΎΠΉ, ΠΎΠ½ Ρ‚Π°ΠΊΠΎΠΉ большой, просто Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π΅ Π²Π΅Ρ‰ΠΈ… создайтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 4×4 ΠΈ выровняйтС ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ большС, Ρ‡Π΅ΠΌ ΠΎΠ΄Π½Ρƒ ячСйку.

Он Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ…Π°ΠΊΠΎΠ² для IE, Π±Π΅Π· Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выравнивания: посСрСдинС; Π²ΠΎΠΎΠ±Ρ‰Π΅…

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ цСнтрирования display-table, display:table-rom; дисплСй: Ρ‚Π°Π±Π»ΠΈΡ†Π°-ячСйка;

Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΡŽΠΊ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° div, ΠΎΠ΄ΠΈΠ½ скрытый (позиция Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ, Π½ΠΎ заставляСт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ), ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ сразу послС скрытого, Π½ΠΎ с top:-50%; поэтому ΠΎΠ½ двиТСтся Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π‘ΠΌ. классы div, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ своС Π΄Π΅Π»ΠΎ: Π‘Π»ΠΎΠΊ Π’ΠΈΠΏΠΎΠšΠΎΠ½Ρ‚Π΅Π½Π΅Π΄ΠΎΡ€ BloqueTipoContenedor_VerticalmenteCentrado BloqueTipoContenido_VerticalmenteCentrado_Oculto BloqueTipoContenido_VerticalmenteCentrado_Visible

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° использованиС испанского языка Π² названиях классов (это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ я Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΏΠΎ-испански, ΠΈ это Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТно, Ρ‡Ρ‚ΠΎ Ссли я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ английский язык, я Ρ‚Π΅Ρ€ΡΡŽΡΡŒ).

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

 


<Π³ΠΎΠ»ΠΎΠ²Π°>



Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CSS2 – ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (протСстировано IE, FF ΠΈ Chrome) – это Ρ‚Π°ΠΊ слоТно!!!
<Ρ‚ΠΈΠΏ стиля="тСкст/CSS">
 HTML, Ρ‚Π΅Π»ΠΎ {
  ΠΏΠΎΠ»Π΅: 0px;
  отступ: 0px;
  ΡˆΠΈΡ€ΠΈΠ½Π°:100%;
  высота:100%;
 }
 div.BloqueTipoTabla{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π°Π±Π»ΠΈΡ†Π°; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: 100%;
 }
 div. BloqueTipoFila_AltoAjustadoAlContenido{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π°Π±Π»ΠΈΡ†Π°-строка; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: Π°Π²Ρ‚ΠΎ;
 }
 div.BloqueTipoFila_AltoRestante{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π°Π±Π»ΠΈΡ†Π°-строка; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: 100%;
 }
 div.BloqueTipoCelda_AjustadoAlContenido{
  дисплСй:Ρ‚Π°Π±Π»ΠΈΡ†Π°-ячСйка;ΠΏΠΎΠ»Π΅:0px;Π³Ρ€Π°Π½ΠΈΡ†Π°:0px;Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:0px;ΡˆΠΈΡ€ΠΈΠ½Π°:Π°Π²Ρ‚ΠΎ;высота:Π°Π²Ρ‚ΠΎ;
 }
 div.BloqueTipoCelda_RestanteAncho{
  дисплСй:Ρ‚Π°Π±Π»ΠΈΡ†Π°-ячСйка;ΠΏΠΎΠ»Π΅:0px;Π³Ρ€Π°Π½ΠΈΡ†Π°:0px;Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:0px;ΡˆΠΈΡ€ΠΈΠ½Π°:100%;высота:Π°Π²Ρ‚ΠΎ;
 }
 div.BloqueTipoCelda_RestanteAlto{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π°Π±Π»ΠΈΡ†Π°-ячСйка; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: Π°Π²Ρ‚ΠΎ; высота: 100%;
 }
 div.BloqueTipoCelda_RestanteAnchoAlto{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π°Π±Π»ΠΈΡ†Π°-ячСйка; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: 100%;
 }
 div.BloqueTipoContenedor{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Π±Π»ΠΎΠΊ; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: 100%; ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅;
 }
 div. BloqueTipoContenedor_VerticalmenteCentrado{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Π±Π»ΠΎΠΊ; ΠΏΠΎΠ»Π΅: 0 пиксСлСй; Π³Ρ€Π°Π½ΠΈΡ†Π°: 0 пиксСлСй; Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: 0 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; высота: Π°Π²Ρ‚ΠΎ; ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅; Π²Π΅Ρ€Ρ…: 50%;
 }
 div.BloqueTipoContenido_VerticalmenteCentrado_Oculto{
  ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:Π±Π»ΠΎΠΊ;ΠΏΠΎΠ»Π΅:0px;Π³Ρ€Π°Π½ΠΈΡ†Π°:0px;отступ:0px;ΡˆΠΈΡ€ΠΈΠ½Π°:100%;высота:Π°Π²Ρ‚ΠΎ;Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ:скрыта;позиция:ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ;Π²Π΅Ρ€Ρ…:50%;
 }
 div.BloqueTipoContenido_VerticalmenteCentrado_Visible{
  дисплСй:Π±Π»ΠΎΠΊ;ΠΌΠ°Ρ€ΠΆΠ°:0px;Π³Ρ€Π°Π½ΠΈΡ†Π°:0px;отступ:0px;ΡˆΠΈΡ€ΠΈΠ½Π°:100%;высота:Π°Π²Ρ‚ΠΎ;Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ:видимая;позиция:Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ;Π²Π΅Ρ€Ρ…:-50%;
 }


<Ρ‚Π΅Π»ΠΎ>
 

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CSS2 β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€


(IE, FF ΠΈ Chrome ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹)
Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ слоТно!!! <Π΄Π΅Π»> <Π΄Π΅Π»> <Π΄Π΅Π»> [1,1]
<Π΄Π΅Π»> [1,2]
<Π΄Π΅Π»> [1,3]
<Π΄Π΅Π»> [1,4]