Π Π°Π·Π½ΠΎΠ΅

4 flex: 4 Flex, 30 + 10 сашС

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

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΈ сокращСнных свойств Flex

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ свойство CSS flex? Π­Ρ‚ΠΎ сокращСниС ΠΎΡ‚ flex-grow, flex-shrink ΠΈ flex-basis. НаиболСС распространСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π²ΠΈΠΆΡƒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ β€” flex: 1. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ flex-элСмСнта Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС доступноС пространство.

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

Бвойство flex-grow

flex-grow устанавливаСт коэффициСнт растяТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт flex-элСмСнтам Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС доступноС пространство. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ flex-grow ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΠΎΠ΅ число. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

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

<div>

Β Β <div></div>

Β Β <div></div>

Β Β <div></div>

</div>

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

.wrapper {
display: flex;
flex-wrap: wrap;
}

.item {
flex-grow: 1;
}

.wrapper {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

}

Β 

.item {

Β Β Β Β flex-grow: 1;

}

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² зависимости ΠΎΡ‚ свойства flex-direction flex-grow ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈΠ»ΠΈ высоту. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° flex-direction установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ row (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Ссли я Π½Π΅ ΡƒΠΊΠ°ΠΆΡƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±Π΅Π· использования flex-grow ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнтов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΠΈΡ… Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅. Однако ΠΏΡ€ΠΈ использовании flex-grow: 1 доступноС пространство распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, ΠΊΠ°ΠΊ пространство распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ flex-элСмСнтами? Π§Ρ‚ΠΎ ΠΆ, это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос, ΠΈ я Π½Π° Π½Π΅Π³ΠΎ скоро ΠΎΡ‚Π²Π΅Ρ‡Ρƒ. На рисункС Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ элСмСнты выглядят Π±Π΅Π· flex-grow. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это ΠΈΡ… СстСствСнный Ρ€Π°Π·ΠΌΠ΅Ρ€.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ рассчитываСтся ΡˆΠΈΡ€ΠΈΠ½Π° flex-элСмСнта, см. ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅. Π― ΡƒΠ·Π½Π°Π» ΠΎΠ± ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ ΠΈΠ· этого поста Π‘Π°ΠΌΠ°Π½Ρ‚Ρ‹ Минг (Бпасибо!). РассчитаСм Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта, содСрТащСго тСкст Β«CSSΒ».

Π¨ΠΈΡ€ΠΈΠ½Π° элСмСнта = ((flex-grow / total flex-grow) * доступноС пространство) + Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнта

Flex-grow: коэффициСнт растяТСния для элСмСнта

Total flex-grow: сумма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ flex-grow для всСх элСмСнтов

ДоступноС пространство: ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ flex-grow

Π¨ΠΈΡ€ΠΈΠ½Π° элСмСнта: Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнта.

-> Π¨ΠΈΡ€ΠΈΠ½Π° элСмСнта = ((1/3) * 498) + 77 = 241

НСсколько Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² flex-grow

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ flex-grow ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ для всСх элСмСнтов. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ flex-grow: 2 для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта. Как это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ? Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° доступно пространство 498px.

НадСюсь, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ стало понятнСС.

МоТСм Π»ΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ноль Π² качСствС значСния flex-grow?

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ! ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ свойство flex-grow ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ цСлочислСнныС значСния, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 0, ΠΊΠ°ΠΊ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ элСмСнта Π² доступном пространствС.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнт сохранял Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ.

Flex-grow Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ flex-элСмСнты ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ

БущСствуСт распространСнноС Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС flex-grow сдСлаСт элСмСнты Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅. Π­Ρ‚ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. ИдСя использования flex-grow β€” Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ доступноС пространство. Как Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ элСмСнта рассчитываСтся Π½Π° основС Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π΄ΠΎ примСнСния flex-grow).

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнты Π±Ρ‹Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ flex-basis. Π― объясню это Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

Бвойство flex-shrink

flex-shrink устанавливаСт коэффициСнт сТатия flex-элСмСнта. Если Ρ€Π°Π·ΠΌΠ΅Ρ€ всСх flex-элСмСнтов большС, Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π² соотвСтствии с коэффициСнтом flex-shrink.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ 300px, ΠΈ установлСно flex-shrink: 1. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ элСмСнту ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒΡΡ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Ссли Π½Π΅Ρ‚ мСста для размСщСния всСх flex-элСмСнтов.

.item-2 {
width: 300px;
flex-shrink: 1;
}

.item-2 {

Β Β Β Β width: 300px;

Β Β Β Β flex-shrink: 1;

}

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ сохранит ΡˆΠΈΡ€ΠΈΠ½Ρƒ элСмСнта Ρ€Π°Π²Π½ΠΎΠΉ 300px ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… условиях:

Π‘ΡƒΠΌΠΌΠ° ΡˆΠΈΡ€ΠΈΠ½Ρ‹ всСх элСмСнтов мСньшС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

Π¨ΠΈΡ€ΠΈΠ½Π° области просмотра Ρ€Π°Π²Π½Π° ΠΈΠ»ΠΈ мСньшС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ элСмСнта

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ элСмСнт Π²Π΅Π΄Π΅Ρ‚ сСбя с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ области просмотра.

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° рисункС, ΡˆΠΈΡ€ΠΈΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ 300px Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΡˆΠΈΡ€ΠΈΠ½Π° области просмотра Π½Π΅ станСт мСньшС 300px.

Бвойство flex-basis

Оно устанавливаСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ flex-элСмСнта ΠΏΠ΅Ρ€Π΅Π΄ распрСдСлСниСм свободного пространства Π² соотвСтствии с коэффициСнтами. Π Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ высотС (Π² случаС flex-direction: column).

Бвойство flex-basis ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ свойства width ΠΈΠ»ΠΈ height. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” auto, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π² content. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ content прСдставляСт автоматичСский Ρ€Π°Π·ΠΌΠ΅Ρ€, основанный Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ содСрТимого элСмСнта.

.item-1 {
flex-grow: 0;
flex-shrink: 0;
flex-basis: 50%;
}

.item-1 {

Β Β Β Β flex-grow: 0;

Β Β Β Β flex-shrink: 0;

Β Β Β Β flex-basis: 50%;

}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта составляСт 50%. Π’Π°ΠΆΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ flex-grow Π½Π° 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнт Π½Π΅ стал большС, Ρ‡Π΅ΠΌ 50%.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто этого 100%? Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π·Π°ΠΉΠΌΠ΅Ρ‚ 100% ΡˆΠΈΡ€ΠΈΠ½Ρ‹ своСго родитСля, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ пСрСнСсСны Π² Π½ΠΎΠ²ΡƒΡŽ строку.

.item-1 {
flex-grow: 0;
flex-shrink: 0;
flex-basis: 100%;
}

.item-1 {

Β Β Β Β flex-grow: 0;

Β Β Β Β flex-shrink: 0;

Β Β Β Β flex-basis: 100%;

}

Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΠΎΠ΅ свойство Flex

Π­Ρ‚ΠΎ сокращСниС для flex-grow, flex-shrink ΠΈ flex-basis. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для flex β€” auto, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСобразуСтся Π²ΠΎ flex: 0 1 auto. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ позволяСт Π³ΠΈΠ±ΠΊΠΈΠΌ элСмСнтам ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΡ… содСрТимого.

Π’ этом контСкстС Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ flex-элСмСнты. НСт, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ CSS, Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ связано с flexbox.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ flex-элСмСнтов

.item {
/* The default value, equivalent to flex: 1 1 auto */
flex: auto;
}

.item {

Β Β Β Β /* The default value, equivalent to flex: 1 1 auto */

Β Β Β Β flex: auto;

}

Π Π°Π·ΠΌΠ΅Ρ€ flex-элСмСнтов зависит ΠΎΡ‚ содСрТимого. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ flex-элСмСнты с большим количСством содСрТимого Π±ΡƒΠ΄ΡƒΡ‚ большС.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ flex-элСмСнтов

Напротив, Ссли для свойства flex-basis установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, всС flex-элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

.item {
/* Equivalent to flex: 1 1 0% */
flex: 1;
}

.item {

Β Β Β Β /* Equivalent to flex: 1 1 0% */

Β Β Β Β flex: 1;

}

Π§Ρ‚ΠΎ ΠΌΠ½Π΅ нравится Π² свойствС Flex

Будя ΠΏΠΎ названию, это свойство ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Одно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния

Если ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ flex-grow, Π° ΠΏΠΎΠ»Π½Ρ‹Π΅ значСния Π±ΡƒΠ΄ΡƒΡ‚ 1 1 0.

Π”Π²Π° значСния Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния

.item {
flex: 1 1;
}

.item {

Β Β Β Β flex: 1 1;

}

ЗначСния β€” flex-grow ΠΈ flex-shrink соотвСтствСнно. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ flex-basis Π±ΡƒΠ΄Π΅Ρ‚ 0.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Одно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹

Оно Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для flex-basis. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ flex-grow ΠΈ flex-shrink Π±ΡƒΠ΄ΡƒΡ‚ 1.

.item {
flex: 100px;
/* flex: 1 1 100px */
}

.item {

Β Β Β Β flex: 100px;

Β Β Β Β /* flex: 1 1 100px */

}

ИспользованиС 0 Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния

Π’ Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для flex-basis 0, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сокращСниС flex.

Π­Ρ‚ΠΎ Π½Π΅ рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π·Π°ΠΏΡƒΡ‚Π°Π΅Ρ‚ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, относится 0 ΠΊ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ растяТСния ΠΈΠ»ΠΈ сТатия, ΠΈΠ»ΠΈ ΠΊ flex-basis? Π­Ρ‚ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ. Богласно спСцификации CSS:

Ноль Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° коэффициСнта сТатия/растяТСния, слСдуСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ коэффициСнт сТатия/растяТСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ толкования ΠΈΠ»ΠΈ нСдопустимых объявлСний, Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ <’flex-base’> с Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ измСрСния ΠΈΠ»ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π΄Π²Π° Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° сТатия/растяТСния.

ВмСсто этого Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, ΠΊΠ°ΠΊ px ΠΈΠ»ΠΈ %.

.item {
flex: 0%;
/* flex: 1 1 0% */
}

.item {

Β Β Β Β flex: 0%;

Β Β Β Β /* flex: 1 1 0% */

}

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сокращСниС Flex

Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ растяТСниС, сТатиС ΠΈ Π±Π°Π·Ρƒ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этой Ρ†Π΅Π»ΠΈ свойство flex. Богласно спСцификации CSS:

Авторам рСкомСндуСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сокращСниС flex, Π° Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ свойства, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сокращСниС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сбрасываСт Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для соотвСтствия ΠΎΠ±Ρ‰Π΅ΠΌΡƒ использованию.

Π‘Π»ΡƒΡ‡Π°ΠΈ использования

Аватар ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования flexbox β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Аватар ΠΈ тСкстовоС содСрТимоС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС.

<div>
<img src=»shadeed.jpg» alt=»» />
<div>
<h4>Ahmad Shadeed</h4>
<p>Author of Debugging CSS</p>
</div>
</div>

<div>

<img src=»shadeed.jpg» alt=»» />

<div>

<h4>Ahmad Shadeed</h4>

<p>Author of Debugging CSS</p>

</div>

</div>

.user {
display: flex;
flex-wrap: wrap;
align-items: center;
}

.user__avatar {
flex: 0 0 70px;
width: 70px;
height: 70px;
}

.user {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

Β Β Β Β align-items: center;

}

Β 

.user__avatar {

Β Β Β Β flex: 0 0 70px;

Β Β Β Β width: 70px;

Β Β Β Β height: 70px;

}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» для Π°Π²Π°Ρ‚Π°Ρ€Π° flex: 0 0 70px. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ сТатым, Ссли flex Π½Π΅ установлСно. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ этого ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ flex Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ Ρƒ свойства width (Π² случаС flex-direction: row) ΠΈΠ»ΠΈ height (Π² случаС flex-direction: column).

Если ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π°Π²Π°Ρ‚Π°Ρ€Π°, просто настроив свойство flex, width Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

.user__avatar {
/* The width is 100px, not 70px */
flex: 0 0 100px;
width: 70px;
height: 70px;
}

.user__avatar {

Β Β Β Β /* The width is 100px, not 70px */

Β Β Β Β flex: 0 0 100px;

Β Β Β Β width: 70px;

Β Β Β Β height: 70px;

}

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°

Π£ вас Π΅ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°, ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ всС доступноС пространство. ИспользованиС flex: 1идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этого случая.

.page-header {
display: flex;
flex-wrap: wrap;
}

.page-header__title {
flex: 1;
}

.page-header {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

}

Β 

.page-header__title {

Β Β Β Β flex: 1;

}

ПолС для Π²Π²ΠΎΠ΄Π° сообщСния

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ распространСно Π² прилоТСниях для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Facebook Messenger ΠΈΠ»ΠΈ Twitter. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ доступноС пространство с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π΄ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.

form {
display: flex;
flex-wrap: wrap;
}

input {
flex: 1;
/* Other styles */
}

form {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

}

Β 

input {

Β Β Β Β flex: 1;

Β Β Β Β /* Other styles */

}

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ сцСнарии ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ использования flex-grow. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ случаи ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΏΠΎ flex. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΈΡ…!

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ послСднСго элСмСнта Π½Π° Π΄Π²ΡƒΡ… ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ…

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ CSS-сСтка ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· Π΄Π²ΡƒΡ… столбцов. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ здСсь Π΄Π°Ρ‚Ρ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ (красной). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ flexbox.

<div>
<img src=»thumb.jpg» alt=»»>
<h4>Title short</h4>
<time></time>
</div>

<div>

<img src=»thumb.jpg» alt=»»>

<h4>Title short</h4>

<time></time>

</div>

Установив flex-direction: column, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ flex-grow для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ заполнял доступноС пространство, ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°Ρ‚Π° ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅, Π΄Π°ΠΆΠ΅ Ссли Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ.

.card {
display: flex;
flex-direction: column;
}

/* First solution */
.card__title {
flex-grow: 1;
}

.card {

Β Β Β Β display: flex;

Β Β Β Β flex-direction: column;

}

Β 

/* First solution */

.card__title {

Β Β Β Β flex-grow: 1;

}

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· использования flex-grow. Благодаря Π°Π²Ρ‚ΠΎ полям ΠΈ flexbox!

/* Second solution */
.card__date {
margin-top: auto;
}

/* Second solution */

.card__date {

Β Β Β Β margin-top: auto;

}

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования β€” Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Flex

Π― имСю Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ flex-grow ΠΈΠ»ΠΈ flex-shrink, Π½ΠΎ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ 1. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, Π³Π΄Π΅ это ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.

ДСйствия Π² Ρ„ΡƒΡ‚Π΅Ρ€Π΅

Π’Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Facebook (я ΡƒΠΊΡ€Π°Π» Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Ρ‡ΠΊΠΈ), этот Ρ„ΡƒΡ‚Π΅Ρ€ состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… элСмСнтов, ΠΈ послСдний ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

.actions {
display: flex;
flex-wrap: wrap;
}

.actions__item {
flex: 2;
}

.actions__item.user {
flex: 1;
}

.actions {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

}

Β 

.actions__item {

Β Β Β Β flex: 2;

}

Β 

.actions__item.user {

Β Β Β Β flex: 1;

}

Анимация раскрытия

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ β€” Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ:

.palette {
display: flex;
flex-wrap: wrap;
}

.palette__item {
flex: 1;
transition: flex 0.3s ease-out;
}

.palette__item:hover {
flex: 4;
}

.palette {

Β Β Β Β display: flex;

Β Β Β Β flex-wrap: wrap;

}

Β 

.palette__item {

Β Β Β Β flex: 1;

Β Β Β Β transition: flex 0.3s ease-out;

}

Β 

.palette__item:hover {

Β Β Β Β flex: 4;

}

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°

МнС нравится эта дСмонстрация Π½Π° Codepen. ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Π° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ с flex-grow 4.

Когда содСрТимоС большС, Ρ‡Π΅ΠΌ Π΅Π³ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°

НСкотороС врСмя Π½Π°Π·Π°Π΄ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» письмо ΠΎΡ‚ читатСля с вопросом ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ столкнулся. Как ΠΈ Π½Π° рисункС, Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

.wrapper {
display: flex;
}

.wrapper img {
flex: 1;
}

.wrapper {

Β Β Β Β display: flex;

}

Β 

.wrapper img {

Β Β Β Β flex: 1;

}

Однако Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ flex: 1 изобраТСния всС Ρ€Π°Π²Π½ΠΎ выходят Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Богласно спСцификации CSS:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ flex-элСмСнты Π½Π΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ мСньшС минимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° своСго содСрТимого (Π΄Π»ΠΈΠ½Ρ‹ самого Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ слова ΠΈΠ»ΠΈ элСмСнта фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это, установитС свойство min-width ΠΈΠ»ΠΈ min-height.

Π’ нашСм случаС изобраТСния слишком большиС, ΠΈ flexbox Π½Π΅ сТимаСт ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

.wrapper img {
flex: 1;
min-width: 0;
}

.wrapper img {

Β Β Β Β flex: 1;

Β Β Β Β min-width: 0;

}

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΡ‚ ΠΈ всС. Π― объяснил основы свойств flex ΠΈ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. НадСюсь, Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ. Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅.

Автор: Ahmad Shadeed

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: https://ishadeed.com

РСдакция: Команда webformyself.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Flex. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

БыстроС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΎΠΉ столбцов сСтки, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.Π΄., с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π³ΠΈΠ±ΠΊΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ flexbox. Для Π±ΠΎΠ»Π΅Π΅ слоТных Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ CSS.



ЗадСйствуйтС Β«Π³ΠΈΠ±ΠΊΠΎΠ΅Β» ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅


ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ display для создания Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ трансформируйтС прямыС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты Π² Β«Π³ΠΈΠ±ΠΊΠΈΠ΅Β». Π“ΠΈΠ±ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ элСмСнты ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами гибкости.


Π― — ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox!

<div>Π― - ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox!</div>


Π― встроСнный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox!

<div>Π― встроСнный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox!</div>


Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ .d-flex ΠΈ .d-inline-flex.


  • .d-flex
  • .d-inline-flex
  • .d-sm-flex
  • .d-sm-inline-flex
  • .d-md-flex
  • .d-md-inline-flex
  • .d-lg-flex
  • .d-lg-inline-flex
  • .d-xl-flex
  • .d-xl-inline-flex

НаправлСниС


Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² Π³ΠΈΠ±ΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ направлСния. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ класс» Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, Ρ‚.ΠΊ. ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° – row. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π³Π΄Π΅ Π²Π°ΠΌ понадобится явно Π·Π°Π΄Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠΉ вСрстки).


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ элСмСнт класса .flex-row для задания Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ направлСния (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°), ΠΈΠ»ΠΈ .flex-row-reverse для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ стороны.


Flex элСмСнт 1

Flex элСмСнт 2

Flex элСмСнт 3

Flex элСмСнт 1

Flex элСмСнт 2

Flex элСмСнт 3

<div>
  <div>Flex элСмСнт 1</div>
  <div>Flex элСмСнт 2</div>
  <div>Flex элСмСнт 3</div>
</div>
<div>
  <div>Flex элСмСнт 1</div>
  <div>Flex элСмСнт 2</div>
  <div>Flex элСмСнт 3</div>
</div>


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс .flex-column для создания Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ направлСния, ΠΈΠ»ΠΈ .flex-column-reverse, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ стороны.


Flex элСмСнт 1

Flex элСмСнт 2

Flex элСмСнт 3

Flex элСмСнт 1

Flex элСмСнт 2

Flex элСмСнт 3

<div>
  <div>Flex элСмСнт 1</div>
  <div>Flex элСмСнт 2</div>
  <div>Flex элСмСнт 3</div>
</div>
<div>
  <div>Flex элСмСнт 1</div>
  <div>Flex элСмСнт 2</div>
  <div>Flex элСмСнт 3</div>
</div>


Для flex-direction Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ.


  • .flex-row
  • .flex-row-reverse
  • .flex-column
  • .flex-column-reverse
  • .flex-sm-row
  • .flex-sm-row-reverse
  • .flex-sm-column
  • .flex-sm-column-reverse
  • .flex-md-row
  • .flex-md-row-reverse
  • .flex-md-column
  • .flex-md-column-reverse
  • .flex-lg-row
  • .flex-lg-row-reverse
  • .flex-lg-column
  • .flex-lg-column-reverse
  • .flex-xl-row
  • .flex-xl-row-reverse
  • .flex-xl-column
  • .flex-xl-column-reverse

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ содСрТимоС


ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ justify-content ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ флСксбокса для измСнСния выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов ΠΏΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ оси (ось Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ось Ρƒ – Ссли flex-direction: column). Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ· start (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°), end, center, between ΠΈΠ»ΠΈ around.


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


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

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ для justify-content.


  • .justify-content-start
  • .justify-content-end
  • .justify-content-center
  • .justify-content-between
  • .justify-content-around
  • .justify-content-sm-start
  • .justify-content-sm-end
  • .justify-content-sm-center
  • .justify-content-sm-between
  • .justify-content-sm-around
  • .justify-content-md-start
  • .justify-content-md-end
  • .justify-content-md-center
  • .justify-content-md-between
  • .justify-content-md-around
  • .justify-content-lg-start
  • .justify-content-lg-end
  • .justify-content-lg-center
  • .justify-content-lg-between
  • .justify-content-lg-around
  • .justify-content-xl-start
  • .justify-content-xl-end
  • .justify-content-xl-center
  • .justify-content-xl-between
  • .justify-content-xl-around

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ align-items Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… флСксбокса для измСнСния выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов ΠΏΠΎ пСрСкрСстной оси (ось Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡., ось Ρ… – Ссли flex-direction: column). Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ· start, end, center, baseline ΠΈΠ»ΠΈ stretch (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°).


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


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

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ для align-items.


  • .align-items-start
  • .align-items-end
  • .align-items-center
  • .align-items-baseline
  • .align-items-stretch
  • .align-items-sm-start
  • .align-items-sm-end
  • .align-items-sm-center
  • .align-items-sm-baseline
  • .align-items-sm-stretch
  • .align-items-md-start
  • .align-items-md-end
  • .align-items-md-center
  • .align-items-md-baseline
  • .align-items-md-stretch
  • .align-items-lg-start
  • .align-items-lg-end
  • .align-items-lg-center
  • .align-items-lg-baseline
  • .align-items-lg-stretch
  • .align-items-xl-start
  • .align-items-xl-end
  • .align-items-xl-center
  • .align-items-xl-baseline
  • .align-items-xl-stretch

Align self


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ align-self Π² Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтах для ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ измСнСния ΠΈΡ… выравнивания ΠΏΠΎ пСрСкрСстной оси (ось Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡., ось Ρ… – Ссли flex-direction: column). Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΊ Ρƒ align-items: start, end, center, baseline ΠΈΠ»ΠΈ stretch (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°).


Flex элСмСнт

Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex

Flex элСмСнт

Flex элСмСнт

Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex

Flex элСмСнт

Flex элСмСнт

Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex

Flex элСмСнт

Flex элСмСнт

Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex

Flex элСмСнт

Flex элСмСнт

Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex

Flex элСмСнт


<div>Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex</div>
<div>Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex</div>
<div>Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex</div>
<div>Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex</div>
<div>Π’Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΉ элСмСнт flex</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ для align-self.


  • .align-self-start
  • .align-self-end
  • .align-self-center
  • .align-self-baseline
  • .align-self-stretch
  • .align-self-sm-start
  • .align-self-sm-end
  • .align-self-sm-center
  • .align-self-sm-baseline
  • .align-self-sm-stretch
  • .align-self-md-start
  • .align-self-md-end
  • .align-self-md-center
  • .align-self-md-baseline
  • .align-self-md-stretch
  • .align-self-lg-start
  • .align-self-lg-end
  • .align-self-lg-center
  • .align-self-lg-baseline
  • .align-self-lg-stretch
  • .align-self-xl-start
  • .align-self-xl-end
  • .align-self-xl-center
  • .align-self-xl-baseline
  • .align-self-xl-stretch

Авто-ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Ρ‹


ЀлСксбокс ΠΌΠΎΠΆΠ΅Ρ‚ нСвСроятныС Π²Π΅Ρ‰ΠΈ – Ссли Π²Ρ‹ сочСтаСтС Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с Π°Π²Ρ‚ΠΎ-ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Π°ΠΌΠΈ. Π’Ρ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ элСмСнтами Ρ‡Π΅Ρ€Π΅Π· Π°Π²Ρ‚ΠΎ-ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Ρ‹: 1. ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π΅Ρ‚ Π°Π²Ρ‚ΠΎ-ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Π°), 2. Β«ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Π΅ΠΌΒ» Π΄Π²Π° элСмСнта ΠΊ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ (.mr-auto), 3. Β«ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Π΅ΠΌΒ» Π΄Π²Π° элСмСнта ΠΊ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ (.ml-auto).


К Π½Π΅ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, IE10 ΠΈ IE11 Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Π²Ρ‚ΠΎ-ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Ρ‹ Π² Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтах, Ρ‡ΡŒΠΈ Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ элСмСнты» ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ justify-content. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ здСсь.


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

<div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
</div>

<div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
</div>

<div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
</div>


Π‘ элСмСнтами выравнивания


ΠŸΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°ΠΉΡ‚Π΅ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов ΠΊ Π²Π΅Ρ€Ρ…Ρƒ ΠΈΠ»ΠΈ Π½ΠΈΠ·Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, сочСтая align-items, flex-direction: column ΠΈ margin-top: auto ΠΈΠ»ΠΈ margin-bottom: auto.


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

<div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
</div>

<div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
  <div>Flex элСмСнт</div>
</div>


ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ°


Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ способ оборачивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² Π³ΠΈΠ±ΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ совсСм Π½Π΅ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°) с классом .flex-nowrap, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… классом .flex-wrap ΠΈΠ»ΠΈ рСвСрсируйтС ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ с классом .flex-wrap-reverse.


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>
  ...
</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>
  ...
</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>
  ...
</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ для flex-wrap.


  • .flex-nowrap
  • .flex-wrap
  • .flex-wrap-reverse
  • .flex-sm-nowrap
  • .flex-sm-wrap
  • .flex-sm-wrap-reverse
  • .flex-md-nowrap
  • .flex-md-wrap
  • .flex-md-wrap-reverse
  • .flex-lg-nowrap
  • .flex-lg-wrap
  • .flex-lg-wrap-reverse
  • .flex-xl-nowrap
  • .flex-xl-wrap
  • .flex-xl-wrap-reverse

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ


ΠœΡ‹ создали ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ лишь для придания элСмСнту ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ послСднСго порядкового полоТСния, ΠΊΠ°ΠΊ ΠΈ для сброса Π΄Π°Π½Π½ΠΎΠΉ настройки для использования порядка DOM. Π’Π°ΠΊ ΠΊΠ°ΠΊ order ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5), Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ CSS для создания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.


ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ flex элСмСнт

Π’Ρ‚ΠΎΡ€ΠΎΠΉ flex элСмСнт

Π’Ρ€Π΅Ρ‚ΠΈΠΉ flex элСмСнт

<div>
  <div>ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ flex элСмСнт</div>
  <div>Π’Ρ‚ΠΎΡ€ΠΎΠΉ flex элСмСнт</div>
  <div>Π’Ρ€Π΅Ρ‚ΠΈΠΉ flex элСмСнт</div>
</div>


ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ для order.


  • .order-0
  • .order-1
  • .order-2
  • .order-3
  • .order-4
  • .order-5
  • .order-6
  • .order-7
  • .order-8
  • .order-9
  • .order-10
  • .order-11
  • .order-12
  • .order-sm-0
  • .order-sm-1
  • .order-sm-2
  • .order-sm-3
  • .order-sm-4
  • .order-sm-5
  • .order-sm-6
  • .order-sm-7
  • .order-sm-8
  • .order-sm-9
  • .order-sm-10
  • .order-sm-11
  • .order-sm-12
  • .order-md-0
  • .order-md-1
  • .order-md-2
  • .order-md-3
  • .order-md-4
  • .order-md-5
  • .order-md-6
  • .order-md-7
  • .order-md-8
  • .order-md-9
  • .order-md-10
  • .order-md-11
  • .order-md-12
  • .order-lg-0
  • .order-lg-1
  • .order-lg-2
  • .order-lg-3
  • .order-lg-4
  • .order-lg-5
  • .order-lg-6
  • .order-lg-7
  • .order-lg-8
  • .order-lg-9
  • .order-lg-10
  • .order-lg-11
  • .order-lg-12
  • .order-xl-0
  • .order-xl-1
  • .order-xl-2
  • .order-xl-3
  • .order-xl-4
  • .order-xl-5
  • .order-xl-6
  • .order-xl-7
  • .order-xl-8
  • .order-xl-9
  • .order-xl-10
  • .order-xl-11
  • .order-xl-12

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ содСрТимого


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ align-content Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… флСксбокса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π»ΠΈΡΡŒ «вмСстС» ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ пСрСкрСстной оси. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ· start (ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°), end, center, between, around ΠΈΠ»ΠΈ stretch. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ flex-wrap: wrap ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈ количСство элСмСнтов flex.


Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π­Ρ‚ΠΎ свойство Π½Π΅ дСйствуСт Π½Π° ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… рядах ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтах.


Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>
  ...
</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>...</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>...</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>...</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>...</div>

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт

Flex элСмСнт


<div>...</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ для align-content.


  • .align-content-start
  • .align-content-end
  • .align-content-center
  • .align-content-around
  • .align-content-stretch
  • .align-content-sm-start
  • .align-content-sm-end
  • .align-content-sm-center
  • .align-content-sm-around
  • .align-content-sm-stretch
  • .align-content-md-start
  • .align-content-md-end
  • .align-content-md-center
  • .align-content-md-around
  • .align-content-md-stretch
  • .align-content-lg-start
  • .align-content-lg-end
  • .align-content-lg-center
  • .align-content-lg-around
  • .align-content-lg-stretch
  • .align-content-xl-start
  • .align-content-xl-end
  • .align-content-xl-center
  • .align-content-xl-around
  • .align-content-xl-stretch

ПолноС руководство ΠΏΠΎ Flexbox – учимся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

Какой самый Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ½ΡΡ‚ΡŒ Flexbox? Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ основы ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΡˆΡ‚ΡƒΠΊ. ИмСнно этим ΠΌΡ‹ ΠΈ займСмся.

Но сначала стоит ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ:

  • Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ написана для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² срСднСго уровня ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ прСдставлСниС ΠΎ ЀлСксбоксах. Но…
  • Если Π²Ρ‹ Π² курсС, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CSS, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»Π° с ЀлСксбокс, Ρ‚ΠΎΒ Π·Π΄Π΅ΡΡŒΒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π³ΠΈΠ΄ ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ (ΡΡ‚Π°Ρ‚ΡŒΡ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ, 45 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅).
  • А Ссли Π²Ρ‹ Π½Π΅ особо Ρ…ΠΎΡ€ΠΎΡˆΠΈ Π² CSS, Ρ‚ΠΎ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ вам ПолноС (ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅) Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² CSSΒ (ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ курс, 74 Π»Π΅ΠΊΡ†ΠΈΠΈ, английский язык).
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС.
  • ЀлСксбокс – всСго лишь тСхнология Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ.
  • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠ° div.ohans ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ это элСмСнт div с классом ohans.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Π°Π»Π΅Ρ€Π΅ΡŽ Π½Π° ЀлСксбокс

Π Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΏΠΎ строкам ΠΈ столбцам Π½Π° ЀлСксбокс Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠΌ каТСтся.
Рассмотрим ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ сСтку:

<main>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

<img src=»/sample.jpg»>

</main>


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<main>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

Β Β <img src=»/sample.jpg»>

</main>

Π£ нас Π΅ΡΡ‚ΡŒ main.gallery ΠΈ 10 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π΅ΠΌ.
УбСдимся, Ρ‡Ρ‚ΠΎ main.gallery растягиваСтся Π½Π° вСсь доступный экран:

.gallery {

min-height: 100vh

}



.gallery {

Β Β  min-height: 100vh

}

КоС-Ρ‡Ρ‚ΠΎ ΠΎΠ± изобраТСниях

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС изобраТСния inline-block элСмСнты. Π£ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота. Они выстроятся Π² линию (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΈ Π½Π΅ слишком большиС ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ всС ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ)

На старт

БСйчас наша галСрСя Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ всСх 10 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈ нСобходимости ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ пСрСмСстятся Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку. ΠŸΠΎΡΠ»ΡƒΡˆΠ½Ρ‹Π΅ рСбята =)

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π° сцСну Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ЀлСксбокс:

.gallery {

display: flex

}



.gallery {

Β Β Β Β display: flex

}

Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ измСнилось. Из inline-block элСмСнтов ΠΎΠ½ΠΈ стали flex-items.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ примСнСния ЀлСксбокс ΠΊ .gallery всС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΡƒΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈΡΡŒ Π² ΠΎΠ΄Π½Ρƒ линию. Π”Π° Π΅Ρ‰Π΅ ΠΈ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈΡΡŒ всС Π² ΠΎΠ΄Π½Ρƒ линию, Π΄Π° Π΅Ρ‰Π΅ ΠΈ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Π–Π°Π»ΠΊΠΎΠ΅ Π·Ρ€Π΅Π»ΠΈΡ‰Π΅ =(

ВсС это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ стандартного повСдСния ЀлСксбокс:

  1. Π‘ΠΏΠ»ΡŽΡ‰ΠΈΡ‚ΡŒ всС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты Π² ΠΎΠ΄Π½Ρƒ линию ΠΈ Π½ΠΈΠΊΡƒΠ΄Π° ΠΈΡ… Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ. НС самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π³Π°Π»Π΅Ρ€Π΅ΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ:

.gallery {

flex-wrap: wrap

}



.gallery {

Β Β Β Β flex-wrap: wrap

}

Π­Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ пСрСнос элСмСнтов Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ строку ΠΊΠ°ΠΊ ΠΈ полагаСтся

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ пСрСнСсСны

2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² нСсколько Π»ΠΈΠ½ΠΈΠΉ. Но ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ растянуты ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π³Π°Π»Π΅Ρ€Π΅Π΅.
Бвойство align-items флСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ stretch

ИзмСним Сго:

.gallery {



align-items: flex-start

}



.gallery {

Β Β …

Β Β align-items: flex-start

}

Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΎΡ‚ растягивания.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ оси:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² нашСй Π³Π°Π»Π΅Ρ€Π΅Π΅ нСискаТСнныС изобраТСния. ΠŸΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π±Ρ‹Π»ΠΈ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ флСксбокс

Наша мощная флСксбокс-галСрСя Π³ΠΎΡ‚ΠΎΠ²Π°.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования ЀлСксбокс

БСйчас прСимущСства использования ЀлСксбокс Π½Π΅ особо Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹, вСдь Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый Π²ΠΈΠ΄ Π±Ρ‹Π» ΠΈ Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

ΠšΡ€ΠΎΠΌΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ адаптивности, прСимущСство флСксбокс Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² возмоТностях выравнивания.
ЀлСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ .gallery ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько свойств для настройки выравнивания:Β flex-direction: rowΒ ,Β justify-content: flex-startΒ ΠΈΒ align-items: flex-start.
Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠΈΠ³Ρ€Π°Π²ΡˆΠΈΡΡŒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

.gallery {



justify-content:center;

}



.gallery {

Β Β  …

Β Β  justify-content:center;

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ изобраТСния идСально ΠΎΡ‚Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ .gallery.

.gallery {



justify-content:center;

align-items: center;

}



.gallery {

Β Β  …

Β Β  justify-content:center;

Β Β  align-items: center;

}

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ изобраТСния Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ

ЀлСксбокс прСдоставляСт ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² выравнивания. Π˜Π³Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ со значСниями, ΠΊΠ°ΠΊ сочтСтС Π½ΡƒΠΆΠ½Ρ‹ΠΌ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ЀлСксбокс Π³Π°Π»Π΅Ρ€Π΅ΡŽΒ Π·Π΄Π΅ΡΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ЀлСксбокс

ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ популярны Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Π“ΡƒΠ³Π», Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€, ΠŸΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡ‚ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ – всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.
Π’ UI-дизайнС карточка – это шаблон, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡ…ΠΎΠΆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π’Π½Π΅ΡˆΠ½Π΅ ΠΎΠ½ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ³Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ.
БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… способов примСнСния ΠšΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ. НапримСр, сСтка с Ρ†Π΅Π½Π°ΠΌΠΈ.

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ FLEXBOX // «ЀрилансСр ΠΏΠΎ ΠΆΠΈΠ·Π½ΠΈΒ»

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ). Flex-элСмСнты ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ основной оси.

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:flex-start;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Flex-элСмСнты ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ основной оси.

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:flex-end;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Flex-элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ основной оси.

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:center;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Flex-элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ основной оси. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт находится Π² Π½Π°Ρ‡Π°Π»Π΅ оси, послСдний элСмСнт находится Π² ΠΊΠΎΠ½Ρ†Π΅ оси.

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:space-between;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Flex-элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ основной оси .К ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ flex-элСмСнту добавляСтся пространство слСва ΠΈ справа.

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:space-around;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Flex-элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ основной оси с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ пространством Π²ΠΎΠΊΡ€ΡƒΠ³ Π½ΠΈΡ….

CSS ΠΊΠΎΠ΄:

/* Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ */

.block{

}

/* flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ */

.block__row{

border: 10px solid #ece89d;
display:flex;
justify-content:space-evenly;

}

/* flex-элСмСнт */

.block__element{

border: 5px solid #5e5373;

}

/* ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ */

.block__content{

background-color: #18b5a4;
/* плюс ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ стили для тСкста, отступы */

}

Bootstrap 4 Flex


Bootstrap 4 Flex

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ классы гибкости для управлСния ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Bootstrap 4.


Flexbox

Бамая большая Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Bootstrap 3 ΠΈ Bootstrap 4 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Bootstrap 4 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ flexbox вмСсто float для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Flexible Box Layout ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π³ΠΈΠ±ΠΊΠΎΠΉ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ структуры ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π±Π΅Π· использования float ΠΈΠ»ΠΈ позиционирования. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Flex, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± этом Π² нашСм руководствС ΠΏΠΎ CSS Flexbox.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Flexbox Π½Π΅ поддСрТиваСтся Π² IE9 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях.

Если Π²Π°ΠΌ трСбуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IE8-9, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Bootstrap 3. Π­Ρ‚ΠΎ самый
ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Bootstrap, ΠΈ ΠΎΠ½Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ поддСрТиваСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ для исправлСния критичСских ошибок ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Однако Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.
Π­Ρ‚ΠΎ.

Для создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° flexbox ΠΈ прСобразования прямых Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π² элСмСнты гибкости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс d-flex :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 1

Flex
элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ встроСнный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ d-inline-flex class:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 1

Flex
элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-row для отобраТСния Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов
ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ (Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ). Π­Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.


Π‘ΠΎΠ²Π΅Ρ‚:
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-row-reverse
для выравнивания ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Π² Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1
Flex элСмСнт 2
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

Flex
элСмСнт 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-column для отобраТСния Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ (Π΄Ρ€ΡƒΠ³ Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΎΠΌ) ΠΈΠ»ΠΈ .flex-column-reverse
для измСнСния Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ направлСния:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1
Flex элСмСнт 2
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

Flex
элСмСнт 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »



ΠžΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ содСрТаниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .justify-content- * для измСнСния выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов. ДопустимыС классы: Π½Π°Ρ‡Π°Π»ΠΎ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΊΠΎΠ½Π΅Ρ† , Ρ†Π΅Π½Ρ‚Ρ€ , ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ / равная ΡˆΠΈΡ€ΠΈΠ½Π°

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-fill Π½Π° Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Рост

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-grow-1 Π½Π° Π³ΠΈΠ±ΠΊΠΎΠΌ элСмСнтС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π½ΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ пространство. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнта Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ пространство, Π° послСдний элСмСнт Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ доступноС пространство:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π‘ΠΎΠ²Π΅Ρ‚: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .flex-shrink-1 Π½Π° Π³ΠΈΠ±ΠΊΠΎΠΌ элСмСнтС для усадки ΠΏΡ€ΠΈ нСобходимости.


Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ порядок ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов .order . ДопустимыС классы ΠΎΡ‚ 0 Π΄ΠΎ 12, Π³Π΄Π΅ наимСньшСС число ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (порядок-1 отобраТаСтся ΠΏΠ΅Ρ€Π΅Π΄ порядком-2 ΠΈ Ρ‚. Π”.):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


АвтоматичСская ΠΌΠ°Ρ€ΠΆΠ°

Π›Π΅Π³ΠΊΠΎ добавляйтС автоматичСскиС поля для Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .mr-auto (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты Π²ΠΏΡ€Π°Π²ΠΎ) ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .ml-auto (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты Π²Π»Π΅Π²ΠΎ):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Flex
элСмСнт 1
Flex элСмСнт 2
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 1

Flex
элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex
3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ°

УправляйтС ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .flex-nowrap (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), .flex-wrap ΠΈΠ»ΠΈ .flex-wrap-reverse .

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя классами,
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

гибкая плСнка
Flex-Wrap-ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ
Flex-Nowrap

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 4

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 5

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 6

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 7

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 8

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 9

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 10

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 11

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 12

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 13

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 14

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 15

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 16

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 17

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 18

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 19

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 20

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 21

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 22

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 23

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 24

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 25

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

..

..

..

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ содСрТимоС

УправляйтС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ собранных Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .align-content- *
классы. ДопустимыС классы: .align-content-start (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), .align-content-end , .align-content-center , .align-content-between , .align-content-about ΠΈ .align-content-stretch .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΈ классы Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ строки Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов.

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡΡ‚ΡŒΡŽ классами,
ΠΏΡƒΡ‚Π΅ΠΌ измСнСния Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚-Π½Π°Ρ‡Π°Π»ΠΎ
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚-ΠΊΠΎΠ½Π΅Ρ†
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚-Ρ†Π΅Π½Ρ‚Ρ€
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²ΠΎΠΊΡ€ΡƒΠ³
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚-растяТку

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 4

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 5

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 6

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 7

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 8

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 9

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 10

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 11

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 12

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 13

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 14

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 15

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 16

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 17

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 18

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 19

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 20

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 21

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 22

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 23

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 24

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 25

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

..

..

..

..

..

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

УправляйтС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строк Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .align-items- *
классы. ДопустимыС классы: .align-items-start , .align-items-end , .align-items-center , .align-items-baseline ΠΈ .Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты-стрСйч
(Π΄Π΅Ρ„ΠΎΠ»Ρ‚).

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡΡ‚ΡŒΡŽ классами:

Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты-Π½Π°Ρ‡Π°Π»ΠΎ
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты-ΠΊΠΎΠ½Π΅Ρ†
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты-Ρ†Π΅Π½Ρ‚Ρ€
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

..

..

..

..

..

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


Π‘Π°ΠΌΠΎΠ²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅

УправляйтС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ элСмСнта с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .align-self- *
классы. ДопустимыС классы: .align-self-start , .align-self-end , .align-self-center , .align-self-baseline ΠΈ .align-self-stretch .
(Π΄Π΅Ρ„ΠΎΠ»Ρ‚).

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡΡ‚ΡŒΡŽ классами:

Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ самозапуск
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ саморСз
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ самоцСнтр
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ сСбя ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ
Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ-ΡΠ°ΠΌΠΎΡ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 1

Π“ΠΈΠ±ΠΊΠΈΠΉ элСмСнт 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ гибкости 3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 2

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Flex 3

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »


АдаптивныС классы гибкости

ВсС классы гибкости ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ классами, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ установку ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса гибкости для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана.

Π‘ΠΈΠΌΠ²ΠΎΠ» * ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° sm, md, lg ΠΈΠ»ΠΈ xl, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΌΠ°Π»Ρ‹ΠΉ, срСдний, большой ΠΈΠ»ΠΈ xlarge.

Класс ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
Π“ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
.d - * - Π³ΠΈΠ±ΠΊΠΈΠΉ Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ flexbox для Ρ€Π°Π·Π½Ρ‹Ρ… экранов ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.d - * - встроСнный Π³ΠΈΠ±ΠΊΠΈΠΉ Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ встроСнный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Flexbox для Ρ€Π°Π·Π½Ρ‹Ρ… экранов ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
НаправлСниС
.flex - * - ряд ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.flex - * - ряд-рСвСрс ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.Π³ΠΈΠ±ΠΊΠΈΠΉ - * - столбСц Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.flex - * - обратная ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
ОбоснованноС содСрТаниС
.justify-content - * - Π½Π°Ρ‡Π°Π»ΠΎ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с самого Π½Π°Ρ‡Π°Π»Π° (ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ) Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.justify-content - * - ΠΊΠΎΠ½Π΅Ρ† ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² ΠΊΠΎΠ½Ρ†Π΅ (ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ) Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.justify-content - * - Ρ†Π΅Π½Ρ‚Ρ€ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.justify-content - * - ΠΌΠ΅ΠΆΠ΄Ρƒ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов «ΠΌΠ΅ΠΆΠ΄Ρƒ» Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.justify-content - * - ΠΎΠΊΠΎΠ»ΠΎ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты «Π²ΠΎΠΊΡ€ΡƒΠ³» Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ / равная ΡˆΠΈΡ€ΠΈΠ½Π°
.Π³ΠΈΠ±ΠΊΠΈΠΉ - * - Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
Рост
.flex - * - Grow-0 НС заставляйтС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ расти Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах
.flex - * - рост-1 ЗаставляйтС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ расти Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах
Усадка
.Π³ΠΈΠ±ΠΊΠΈΠΉ - * - тСрмоусадочный-0 НС заставляйтС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах
.flex - * - тСрмоусадочная-1 УмСньшСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах
Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ
. Π—Π°ΠΊΠ°Π· - * - 0-12 Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ порядок с 0 Π½Π° 12 Π½Π° ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ°
.Π³ΠΈΠ±ΠΊΠΈΠΉ - * - nowrap НС ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ элСмСнты Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ экраны ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.flex - * - ΠΏΠ»Π΅Π½ΠΊΠ° ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ элСмСнтов Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ экраны ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.flex - * - обратная ΠΏΠ»Π΅Π½ΠΊΠ° ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ содСрТимоС
.align-content - * - Π½Π°Ρ‡Π°Π»ΠΎ Π‘ самого Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ собранныС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-content - * - ΠΊΠΎΠ½Π΅Ρ† ВыровняйтС собранныС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-content - * - Ρ†Π΅Π½Ρ‚Ρ€ ВыровняйтС собранныС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-content - * - ΠΎΠΊΠΎΠ»ΠΎ ВыровняйтС собранныС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ Β«ΠΏΠΎ ΠΊΡ€ΡƒΠ³ΡƒΒ» Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-content - * - stretch РастягивайтС собранныС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ элСмСнты
.align-items - * - Π½Π°Ρ‡Π°Π»ΠΎ Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ряды элСмСнтов с самого Π½Π°Ρ‡Π°Π»Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-items - * - ΠΊΠΎΠ½Π΅Ρ† Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ряды элСмСнтов Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-items - * - Ρ†Π΅Π½Ρ‚Ρ€ ВыровняйтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ряды элСмСнтов ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-items - * - базовая линия Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ряды элСмСнтов ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-items - * - Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ Π Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ряды элСмСнтов Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
Π‘Π°ΠΌΠΎΠ²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅
.align-self - * - Π½Π°Ρ‡Π°Π»ΠΎ ВыровняйтС Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт с самого Π½Π°Ρ‡Π°Π»Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-self - * - ΠΊΠΎΠ½Π΅Ρ† ВыровняйтС Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-self - * - Ρ†Π΅Π½Ρ‚Ρ€ ВыровняйтС Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-self - * - базовая линия ВыровняйтС Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
.align-self - * - Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ Π Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ элСмСнт Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это

.

html — Flexbox: 4 элСмСнта Π² строкС

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

.

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

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