Generator flexboxa CSS
Flexbox to wybór do jednowymiarowego układu: rzędy kart, paski nawigacji, wyśrodkowane hero, formularze. Model kontener-element jest potężny, ale jego kilkanaście właściwości wchodzi w nieoczywiste interakcje. Ten generator zdejmuje z ciebie zgadywanie przy konfigurowaniu kontenera: wybierz flex-direction, justify-content, align-items, flex-wrap i gap, a dostaniesz czystą regułę CSS, którą wkleisz prosto do arkusza stylów.
Jak wygenerować CSS
-
1
Wybierz kierunek
Wybierz row, column lub warianty odwrócone. To ustawia flex-direction, czyli oś, wzdłuż której płyną elementy.
-
2
Ustaw justify-content
Wybierz, jak elementy rozkładają się wzdłuż osi głównej: początek, środek, space-between, space-around lub koniec.
-
3
Ustaw align-items
Wybierz, jak elementy wyrównują się na osi poprzecznej: stretch, początek, środek lub koniec.
-
4
Ustaw gap i wrap
Dodaj odstęp między elementami w pikselach i zdecyduj, czy elementy zawijają się do nowej linii.
-
5
Skopiuj CSS
Generator zwraca regułę kontenera ze wszystkimi właściwościami, gotową do wklejenia do arkusza stylów.
Właściwości kontenera
| Właściwość | Wartości | Efekt |
|---|---|---|
flex-direction |
row / column / row-reverse / column-reverse | Oś główna |
flex-wrap |
nowrap / wrap / wrap-reverse | Czy elementy się zawijają |
justify-content |
flex-start / center / flex-end / space-between / space-around / space-evenly | Dystrybucja na osi głównej |
align-items |
flex-start / center / flex-end / baseline / stretch | Wyrównanie osi poprzecznej każdej linii |
align-content |
te same wartości + space-between / space-around | Przy zawinięciu, dystrybucja linii na osi poprzecznej |
gap (row-gap, column-gap) |
długość | Odstęp między elementami |
Właściwości elementu
| Właściwość | Wartości | Efekt |
|---|---|---|
flex-grow |
0+ (bezjednostkowe) | Udział pozostałej przestrzeni do wchłonięcia |
flex-shrink |
0+ (bezjednostkowe) | Udział nadmiaru do skurczenia |
flex-basis |
długość albo auto | Rozmiar początkowy przed grow/shrink |
flex |
skrót (1 1 auto itd.) |
Wszystkie trzy naraz |
align-self |
auto / flex-start / center / flex-end / baseline / stretch | Nadpisuje align-items dla jednego elementu |
order |
całkowita | Wizualne przestawienie bez zmiany DOM |
Trik flex: 1
flex: 1 to skrót od flex: 1 1 0%. Sprawia, że element:
- Rośnie, by wypełnić dostępną przestrzeń (grow: 1)
- Kurczy się, jeśli konieczne (shrink: 1)
- Startuje od rozmiaru zerowego (basis: 0%)
Dla kolumn o równej szerokości flex: 1 na każdym elemencie daje idealny podział. Dla sidebarów, które nie powinny kurczyć się poniżej treści, użyj flex: 0 0 240px (bez wzrostu, bez kurczenia, basis 240px).
Częste wzorce
Wyśrodkowane hero
.hero {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
Navbar z logo po lewej, linkami po prawej
.nav {
display: flex;
align-items: center;
gap: 2rem;
}
.nav-links {
margin-left: auto; /* zepchnij w prawo */
display: flex;
gap: 1rem;
}
Responsywny wiersz kart
.card-row {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
}
.card {
flex: 1 1 260px; /* grow/shrink, 260px minimum przed zawinięciem */
}
Pole formularza z przyciskiem (input elastyczny, przycisk stały)
.field {
display: flex;
gap: 0.5rem;
}
.field input {
flex: 1;
}
.field button {
flex: 0 0 auto;
}
Flexbox vs Grid
- Flexbox: jeden wymiar (wiersz LUB kolumna). Najlepiej, gdy rozmiary elementów są zależne od treści albo gdy dystrybuujesz przestrzeń wzdłuż pojedynczej linii.
- Grid: dwa wymiary (wiersze ORAZ kolumny z jawnymi torami). Najlepiej, gdy układ ma jednocześnie strukturę wierszy i kolumn.
Dla paska nawigacji albo stosu kart: Flexbox. Dla siatki kart produktowych z wieloma rzędami wyrównanych kart: CSS Grid. Wiele realnych stron używa obu, układ strony w Grid z Flexboxem w komponentach.
Częste pułapki
- Elementy nie wypełniają kontenera: domyślny
align-items: stretchstosuje się tylko, jeśli elementy nie mają stałej wysokości. Z jawną wysokością zostają w tym rozmiarze. gapnie działa: sprawdź wsparcie przeglądarki. Flex gap pojawił się późno; Safari <14.1 go nie obsługiwało. Teraz uniwersalne w 2024+.- Dzieci kolumny flex się zwijają: kolumna flex ma
align-items: stretchjako domyślne, co rozciąga elementy do szerokości kontenera. Jeśli jedno dziecko ustawia szerokość, wyłamuje się. orderjest tylko wizualne: czytniki ekranu i nawigacja klawiaturą podążają za kolejnością DOM. Nie używajorder, by treść miała sens; używaj tylko do wizualnego dopieszczenia.
Najczęściej zadawane pytania
Grid dla dwuwymiarowych układów strony (wiersze i kolumny razem). Flexbox dla jednowymiarowych dystrybucji (pasek nawigacji, wiersz przycisków, stos). Wewnątrz komórki Grid Flexbox dla jej wewnętrznego układu. Większość złożonych UI używa obu.
Bo domyślny flex-shrink to 1, ale domyślny min-width to auto, co równa się szerokości treści. Ustaw min-width: 0 (albo min-inline-size: 0) na elemencie, by pozwolić mu skurczyć się poniżej jego intrinsicznego rozmiaru.
display: flex; justify-content: center; align-items: center; na kontenerze. Pokrywa zdecydowaną większość przypadków ‘wyśrodkuj to coś’ dwoma liniami.
Tak, we wszystkich nowoczesnych przeglądarkach. Safari się spóźniło (dodane w 14.1, kwiecień 2021); dziś każda główna przeglądarka go obsługuje. Zastępuj odstępy oparte na margin przez gap, kiedy tylko możesz, dużo prostsze.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.