CSS Academy · Lekcja

Wzorce skróconej właściwości flex

Nauczy się Pan/Pani biegle używać skróconej właściwości flex oraz rozumieć typowe wartości, takie jak flex: 1, flex: none i flex: auto.

Lekcja 3 z 413 kroki

Wzorce skróconej właściwości flex to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.

Skrót flex — powtórka

Skrót flex ustawia właściwości flex-grow, flex-shrink i flex-basis w jednej deklaracji. Zrozumienie wariantów tego skrótu jest niezbędne podczas tworzenia rzeczywistych układów.

flex: 1

flex: 1 jest równoważne flex: 1 1 0%. Elementy zaczynają od zerowej wartości bazowej i zwiększają się równomiernie, aby wypełnić dostępną przestrzeń. To najczęściej używany skrót do tworzenia równych kolumn.

<div class="equal-cols">
  <div>A</div>
  <div>B</div>
  <div>C</div>
</div>

flex: auto

flex: auto = flex: 1 1 auto. Elementy zaczynają od naturalnego rozmiaru zawartości, a następnie proporcjonalnie się zwiększają lub zmniejszają. Podczas zwiększania szersza zawartość otrzymuje więcej miejsca.

<div class="nav-links">
  <a href="#">Home</a>
  <a href="#">About Us</a>
  <a href="#">Contact</a>
</div>

flex: none

flex: none = flex: 0 0 auto. Element jest sztywny — nie zwiększa się ani nie zmniejsza. Jego rozmiar zależy od naturalnej szerokości zawartości albo jawnie określonej szerokości lub wysokości.

<div class="row">
  <div class="logo">Logo</div>
  <div>Flexible content</div>
</div>

flex: 0 0 Xpx

Element o stałym rozmiarze, nieelastyczny. To najbardziej jednoznaczny sposób tworzenia paneli bocznych o dokładnie określonych szerokościach:

<div class="layout">
  <div class="sidebar-left">Left</div>
  <div class="main-content">Main</div>
  <div class="sidebar-right">Right</div>
</div>

flex: 1 a flex: 1 1 auto

Najważniejsza różnica: przy flex: 1 (wartość bazowa 0%) wszystkie elementy zaczynają od 0 i zwiększają się proporcjonalnie. Przy flex: 1 1 auto elementy zaczynają od naturalnego rozmiaru zawartości, a następnie się zwiększają. Wpływa to na sposób rozdzielania pozostałej przestrzeni.

Proporcja flex: 2

Należy używać różnych wartości flex-grow, aby uzyskać proporcjonalny podział:

<div class="split">
  <div class="main">Main (2/3)</div>
  <div class="side">Side (1/3)</div>
</div>

Łączenie elementów stałych i elastycznych

Najczęściej spotykany rzeczywisty wzorzec to stały panel boczny i elastyczna główna treść:

<div class="layout">
  <div class="sidebar">Sidebar 280px</div>
  <div class="content">Flexible content</div>
</div>

Sztuczka flex z min-width: 0

Elementy flex mają domyślnie ustawienie min-width: auto. Może to uniemożliwić ich zmniejszenie poniżej rozmiaru zawartości. Elementom, które powinny swobodnie się zmniejszać, należy ustawić min-width: 0 (na przykład kontenerom tekstu z obcinaniem zawartości).

<div class="row">
  <div class="text-col">This is a very long line of text that needs to truncate with an ellipsis inside a flex item.</div>
</div>

Wzorzec siatki kart

Responsywna siatka kart z kartami elastycznymi, ale ograniczonymi rozmiarem:

<div class="card-grid">
  <div class="card">Card 1</div>
  <div class="card">Card 2</div>
  <div class="card">Card 3</div>
</div>

Debugowanie skrótu flex

Za pomocą narzędzi deweloperskich przeglądarki należy sprawdzić obliczone wartości flex-grow, flex-shrink i flex-basis. Nakładka inspektora Flexbox pokazuje również wizualnie wolną przestrzeń i rozmiary elementów.

Szybkie sprawdzenie

Do czego rozwija się flex: auto?

Podsumowanie

Należy zapamiętać najważniejsze skróty flex: flex: 1 (równe kolumny zaczynające od zera), flex: auto (zwiększanie od naturalnego rozmiaru), flex: none (element sztywny), flex: 0 0 Xpx (stały rozmiar). Elementom flex zawierającym tekst z obcinaniem zawartości należy ustawić min-width: 0. Elementy stałe i elastyczne warto łączyć podczas tworzenia klasycznych układów z panelem bocznym.

Bezpłatny start

Ucz się CSS dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
40
Lekcje
159

Często zadawane pytania

Czy lekcja „Wzorce skróconej właściwości flex” jest bezpłatna?

Tak — pełny tekst „Wzorce skróconej właściwości flex” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wzorce skróconej właściwości flex”?

Nauczy się Pan/Pani biegle używać skróconej właściwości flex oraz rozumieć typowe wartości, takie jak flex: 1, flex: none i flex: auto. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć CSS Academy?

Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wzorce skróconej właściwości flex”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?

Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Nadpisywanie wyrównania elementu flex za pomocą align-self
  2. Właściwość order i zmiana kolejności wizualnej
  3. Wzorce skróconej właściwości flex
  4. Typowe układy Flexbox: nawigacja, karty i obiekt medialny
← Powrót do CSS Academy