CSS Flexbox Üretici
Flexbox, tek boyutlu düzen için ilk tercihtir: kart satırları, nav çubukları, ortalanmış hero alanları, formlar. Konteyner-öğe modeli güçlüdür; ancak özellikleri belirgin olmayan biçimlerde etkileşir. Bu üretici konteyneri ayarlarken tahminde bulunmanızı gerektirmez: flex-direction, justify-content, align-items, flex-wrap ve gap seçin, stilinize doğrudan kopyalayabileceğiniz temiz bir CSS kuralı elde edin.
CSS nasıl oluşturulur
-
1
Bir yön seçin
row, column veya ters çevrilmiş varyantları seçin. Bu, öğelerin aktığı eksen olan flex-direction'ı belirler.
-
2
justify-content ayarlayın
Öğelerin ana eksen boyunca nasıl dağılacağını seçin: başlangıç, orta, space-between, space-around veya bitiş.
-
3
align-items ayarlayın
Öğelerin çapraz eksende nasıl hizalanacağını seçin: stretch, başlangıç, orta veya bitiş.
-
4
gap ve wrap ayarlayın
Öğeler arasına piksel cinsinden boşluk ekleyin ve öğelerin yeni satıra sarılıp sarılmayacağını belirleyin.
-
5
CSS'i kopyalayın
Üretici, tüm özelliklerle birlikte konteyner kuralını çıkarır; stilinize yapıştırmaya hazırdır.
Konteyner özellikleri
| Özellik | Değerler | Etki |
|---|---|---|
flex-direction |
row / column / row-reverse / column-reverse | Ana eksen |
flex-wrap |
nowrap / wrap / wrap-reverse | Öğelerin sarılıp sarılmayacağı |
justify-content |
flex-start / center / flex-end / space-between / space-around / space-evenly | Ana eksende dağılım |
align-items |
flex-start / center / flex-end / baseline / stretch | Her satırın çapraz eksen hizalaması |
align-content |
aynı değerler + space-between / space-around | Sarıldığında satırların çapraz eksen dağılımı |
gap (row-gap, column-gap) |
uzunluk | Öğeler arası boşluk |
Öğe özellikleri
| Özellik | Değerler | Etki |
|---|---|---|
flex-grow |
0+ (birimsiz) | Artan boşluğu emme payı |
flex-shrink |
0+ (birimsiz) | Taşmadan küçülme payı |
flex-basis |
uzunluk veya auto | Grow/shrink öncesi başlangıç boyutu |
flex |
kısaltma (1 1 auto, vb.) |
Üçünü birden |
align-self |
auto / flex-start / center / flex-end / baseline / stretch | Tek öğe için align-items’ı geçersiz kılar |
order |
tamsayı | DOM’u değiştirmeden görsel yeniden sıralama |
flex: 1 numarası
flex: 1, flex: 1 1 0% için kısaltmadır. Bir öğeyi:
- Mevcut alanı doldurmak için büyütür (grow: 1)
- Gerekirse küçültür (shrink: 1)
- Sıfır boyuttan başlatır (basis: 0%)
Eşit genişlikli sütunlar için her öğede flex: 1 mükemmel bölüşüm verir. İçeriğin altına inmemesi gereken yan menüler için flex: 0 0 240px (büyüme yok, küçülme yok, 240px basis) kullanın.
Yaygın desenler
Ortalanmış hero
.hero {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
Solda logo, sağda bağlantılar olan navbar
.nav {
display: flex;
align-items: center;
gap: 2rem;
}
.nav-links {
margin-left: auto; /* sağa it */
display: flex;
gap: 1rem;
}
Duyarlı kart satırı
.card-row {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
}
.card {
flex: 1 1 260px; /* büyür/küçülür, sarmadan önce 260px minimum */
}
Buton ile form alanı (input esnek, buton sabit)
.field {
display: flex;
gap: 0.5rem;
}
.field input {
flex: 1;
}
.field button {
flex: 0 0 auto;
}
Flexbox ile Grid karşılaştırması
- Flexbox: tek boyut (satır YA DA sütun). Öğe boyutları içerik kaynaklı olduğunda ya da boşluğu tek bir hat boyunca dağıttığınızda en iyisidir.
- Grid: iki boyut (açık parça hatlarıyla satırlar VE sütunlar). Düzenin aynı anda satır ve sütun yapısı olduğunda en iyisidir.
Nav çubuğu veya kart yığını için: Flexbox. Hizalanmış kartların birden çok satırlı ürün-kart grid’i için: CSS Grid. Pek çok gerçek sayfa her ikisini kullanır, Grid sayfa düzeni içinde bileşenlerde Flexbox.
Yaygın hatalar
- Öğeler konteyneri doldurmuyor: varsayılan
align-items: stretchyalnızca öğelerin sabit yüksekliği yoksa uygulanır. Açık yükseklikle o boyutta kalırlar. gapçalışmıyor: tarayıcı desteğini kontrol edin. Flex gap geç geldi; Safari <14.1 desteklemiyordu. Artık 2024+ evrensel.- Column flex’in çocukları çöküyor: bir flex sütununun varsayılan değeri
align-items: stretch’tir; bu da öğeleri konteyner genişliğine kadar uzatır. Bir çocuk genişlik belirlerse bu davranıştan çıkar. orderyalnızca görseldir: ekran okuyucular ve klavye navigasyonu DOM sırasını takip eder. İçeriği anlamlı kılmak içinorderkullanmayın; yalnızca görsel rötuş için.
Sık Sorulan Sorular
İki boyutlu sayfa düzenleri (birlikte satırlar ve sütunlar) için Grid. Tek boyutlu dağılımlar (nav çubuğu, buton satırı, yığın) için Flexbox. Bir Grid hücresinin içinde iç düzen için Flexbox. Çoğu karmaşık arayüz her ikisini de kullanır.
Çünkü flex-shrink varsayılanı 1’dir; ancak min-width varsayılanı auto, yani içerik genişliğine eşittir. Öğenin doğal boyutunun altına inmesine izin vermek için öğede min-width: 0 (veya min-inline-size: 0) ayarlayın.
Konteynerde display: flex; justify-content: center; align-items: center;. “Bunu ortala” durumlarının büyük çoğunluğunu iki satırla halleder.
Evet, tüm modern tarayıcılarda. Safari geç kaldı (14.1, Nisan 2021’de eklendi); bugün tüm büyük tarayıcılar destekliyor. Mümkün olduğunda margin tabanlı boşluğu gap ile değiştirin, çok daha basit.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Webpack Yapılandırma Oluşturucu
Kısa bir formdan webpack 5 için bir webpack.config.js oluşturun: entry, çıkış klasörü ve modu ayarlayın; ardından TypeScript, Babel, bir CSS yükleyici, HtmlWebpackPlugin ve bir dev sunucu açın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Rastgele adres oluşturucu
Arayüz maketleri ve testler için üç basitleştirilmiş biçimde 1–20 adres benzeri kayıt oluşturun.
Araç diğer dillerde mevcuttur
- CSS Flexbox-generator [NL]
- Generador de CSS Flexbox [ES]
- ตัวสร้าง CSS Flexbox [TH]
- مولد CSS Flexbox [AR]
- Gerador de CSS Flexbox [PT]
- CSS Flexboxジェネレーター [JA]
- CSS Flexbox 생성기 [KO]
- Generator flexboxa CSS [PL]
- CSS Flexbox-generator [SV]
- CSS-Flexbox-Generator [DE]
- Trình tạo Flexbox CSS [VI]
- Generator Flexbox CSS [ID]
- Générateur CSS Flexbox [FR]
- Generatore CSS Flexbox [IT]
- Генератор CSS Flexbox [RU]
- CSS Flexbox 生成器 [ZH]
- CSS Flexbox Generator [EN]