205 of 313 menu

Właściwość flex-shrink

Właściwość flex-shrink określa, jak bardzo blok flex będzie zmniejszany względem sąsiednich elementów wewnątrz kontenera flex w przypadku braku wolnego miejsca.

Na przykład, jeśli wszystkie bloki flex wewnątrz kontenera flex mają flex-shrink:1, to będą one jednakowego rozmiaru. Jeśli jeden z nich ma flex-shrink:2, to będzie on 2 razy mniejszy niż wszystkie pozostałe.

Stosuje się do: konkretnego bloku flex.

Ta właściwość wchodzi w skład jako część składowa właściwości-skrótu flex.

Składnia

selektor { flex-shrink: liczba dodatnia; }

Wartość domyślna: 1.

Przykład

Załóżmy, że mamy 3 elementy. Szerokość każdego z nich wynosi 200px i łącznie wynosi 600px, co jest większe niż szerokość kontenera nadrzędnego, która wynosi 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; }

:

Obliczmy ujemne wolne miejsce według wzoru:

600px - 350px = 250px

Łączna ważona szerokość elementów z uwzględnieniem wartości właściwości flex-shrink dla każdego elementu będzie równa:

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

Teraz określmy, o ile zmniejszy się pierwszy element:

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

Drugi element:

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

Trzeci element:

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

Okazuje się, że trzeci element, którego wartość flex-shrink wynosi 3, zmniejszy się bardziej niż inne elementy.

Zobacz też

  • właściwość flex-direction,
    która ustawia kierunek osi bloków flex
  • właściwość justify-content,
    która ustawia wyrównanie wzdłuż osi głównej
  • właściwość align-items,
    która ustawia wyrównanie wzdłuż osi poprzecznej
  • właściwość flex-wrap,
    która ustawia wielowierszowość bloków flex
  • właściwość flex-flow,
    skrót dla flex-direction i flex-wrap
  • właściwość order,
    która ustawia kolejność bloków flex
  • właściwość align-self,
    która ustawia wyrównanie pojedynczego bloku
  • właściwość flex-basis,
    która ustawia rozmiar konkretnego bloku flex
  • właściwość flex-grow,
    która ustawia "zachłanność" bloków flex
  • właściwość flex,
    skrót dla flex-grow, flex-shrink i flex-basis
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć