205 of 313 menu

Свойство flex-shrink

Свойството flex-shrink определя до каква степен flex-блокът ще се свива спрямо съседните елементи във flex-контейнера в случай на липса на свободно пространство.

Например, ако всички flex-блокове във flex-контейнера имат flex-shrink:1, то те ще бъдат с еднакъв размер. Ако един от тях има flex-shrink:2, то той ще бъде 2 пъти по-малък от всички останали.

Прилага се към: конкретен flex блок.

Това свойство влиза като съставна част в свойството-съкращение flex.

Синтаксис

селектор { flex-shrink: положително число; }

Стойност по подразбиране: 1.

Пример

Нека имаме 3 елемента. Ширината на всеки от тях е 200px и сумарно е равна на 600px, което е по-голямо от ширината на родителския контейнер, която е равна на 350px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem2">3</div> </div> .parent { display: flex; width: 350px; height: 200px; border: 1px solid red; } .child { width: 200px; height: 50px; border: 1px solid green; } .elem1 { flex-shrink: 1; } .elem2 { flex-shrink: 2; } .elem3 { flex-shrink: 3; }

:

Нека изчислим отрицателното свободно пространство по формулата:

600px - 350px = 250px

Сумарната претеглена ширина на елементите със стойностите на свойството flex-shrink за всеки елемент ще бъде равна на:

200px * 1 + 200px * 2 + 200px * 3 = 1200px

Сега нека определим с колко ще се свие първият елемент:

250px * 1 (flex-shrink) * 200 (width) / 1200 = 41,6px

Вторият елемент:

250px * 2 (flex-shrink) * 200 (width) / 1200 = 83,3px

Третият елемент:

250px * 3 (flex-shrink) * 200 (width) / 1200 = 125px

Излиза, че третият елемент, чиято стойност flex-shrink е равна на 3, ще се свие повече от другите елементи.

Вижте също

  • свойство flex-direction,
    което задава посока на осите на flex блоковете
  • свойство justify-content,
    което задава подравняване по главната ос
  • свойство align-items,
    което задава подравняване по напречната ос
  • свойство flex-wrap,
    което задава многолинейност на flex блоковете
  • свойство flex-flow,
    съкращение за flex-direction и flex-wrap
  • свойство order,
    което задава реда на flex блоковете
  • свойство align-self,
    което задава подравняване на един блок
  • свойство flex-basis,
    което задава размера на конкретен flex блок
  • свойство flex-grow,
    което задава "алчност" на flex блоковете
  • свойство flex,
    съкращение за flex-grow, flex-shrink и flex-basis
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне