Właściwość CSSFlexbox

flex-grow

Określa, jak chętnie element rośnie, żeby wypełnić wolne miejsce.

Wartość domyślna
0
Dziedziczona
Nie
Animowalna
tak, jako liczba
Dotyczy
elementy flex
JavaScript
element.style.flexGrow = "1"
Na tej stronie

Przykład

#
CSS
.search {
  display: flex;
  gap: 8px;
}

.search input {
  flex-grow: 1;
}
Podgląd

Definicja i zastosowanie

#

Właściwość flex-grow przyjmuje liczbę, która mówi, jaką część wolnego miejsca w kontenerze dostanie element. Przy domyślnym 0 element nie rośnie wcale.

Liczby działają proporcjonalnie. Jeśli jeden element ma flex-grow: 2, a drugi 1, pierwszy dostanie dwa razy więcej dodatkowego miejsca. Uwaga: dzielone jest tylko wolne miejsce, więc elementy o różnej treści nie muszą mieć proporcjonalnych szerokości.

Żeby rozmiary były ściśle proporcjonalne do liczb, połącz flex-grow z flex-basis: 0, najwygodniej skrótem flex: 1.

Składnia

#
Składnia
flex-grow: <liczba>;

Wartości

#
  • 0

    Element nie rośnie. Wolne miejsce zostaje puste.
  • 1

    Element 2 zabiera całe wolne miejsce.
  • wszystkie 1

    Każdy element dostaje równą część wolnego miejsca.
  • 2 i 1

    Element 2 dostaje dwa razy więcej wolnego miejsca niż pozostałe.

Wartości w praktyce

#

0

Element nie rośnie. Wolne miejsce zostaje puste.
.target { flex-grow: 0; }

1

Element 2 zabiera całe wolne miejsce.
.target { flex-grow: 1; }

wszystkie 1

Każdy element dostaje równą część wolnego miejsca.
.demo .box { flex-grow: 1; }

2 i 1

Element 2 dostaje dwa razy więcej wolnego miejsca niż pozostałe.
.demo .box { flex-grow: 1; }
.target { flex-grow: 2; }

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

#
  • Pole wyszukiwania z przyciskiem obok to klasyczny przypadek: pole dostaje flex-grow: 1, przycisk zostaje w naturalnym rozmiarze.
  • Do równych kolumn użyj flex: 1, a nie samego flex-grow: 1.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.