flex-shrink
Określa, jak bardzo element kurczy się, gdy w kontenerze brakuje miejsca.
- Wartość domyślna
1- Dziedziczona
- Nie
- Animowalna
- tak, jako liczba
- Dotyczy
- elementy flex
- JavaScript
element.style.flexShrink = "0"
Przykład
#.user {
display: flex;
align-items: center;
gap: 10px;
}
.user .avatar {
flex-shrink: 0;
}<div class="user stage" style="width: 260px;">
<span class="avatar box" style="width: 44px; height: 44px; border-radius: 99px; padding: 0;">AN</span>
<span>Anna Nowak, Mistrzyni Flexboxa i autorka trzech projektów na zaliczenie</span>
</div>Definicja i zastosowanie
#Właściwość flex-shrink działa odwrotnie niż flex-grow. Gdy elementy razem są szersze niż kontener, każdy oddaje część swojej szerokości proporcjonalnie do tej liczby. Domyślnie wszystkie mają 1, więc kurczą się po równo.
Wartość 0 chroni element przed ściskaniem. To przydatne dla ikon, awatarów, przycisków i etykiet, które powinny zachować swój rozmiar, podczas gdy tekst obok się zwęża.
Elementy nie kurczą się poniżej swojej minimalnej szerokości treści (najdłuższego słowa). Żeby pozwolić na więcej, ustaw min-width: 0.
Składnia
#flex-shrink: <liczba>;Wartości
#Wartości w praktyce
#1
.target { flex-shrink: 1; }0
.target { flex-shrink: 0; }3
.target { flex-shrink: 3; }Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Ikony i awatary obok tekstu prawie zawsze powinny mieć
flex-shrink: 0, inaczej zgniatają się w owal. - Jeśli długi tekst w elemencie flex nie chce się zawinąć ani obciąć, dodaj mu
min-width: 0.
Powiązane hasła
#- flex-growOkreśla, jak chętnie element rośnie, żeby wypełnić wolne miejsce.
- flex-basisUstala początkowy rozmiar elementu flex na osi głównej, zanim zacznie rosnąć lub się kurczyć.
- flexSkrót ustawiający flex-grow, flex-shrink i flex-basis elementu.
- min-widthUstala minimalną szerokość, poniżej której element się nie zwęży.
Widzisz błąd albo brakuje przykładu? Napisz do nas.