ızgara sistemi
On iki sütun sistemi, beş varsayılan duyarlı katman, Sass değişkenleri ve karışımları ve düzinelerce önceden tanımlanmış sınıf sayesinde tüm şekil ve boyutlarda düzenler oluşturmak için mobil öncelikli esnek kutu ızgaramızı kullanın.
Nasıl çalışır
Bootstrap'in ızgara sistemi, içeriği düzenlemek ve hizalamak için bir dizi kap, satır ve sütun kullanır. Flexbox ile inşa edilmiştir ve tamamen duyarlıdır. Aşağıda, ızgaranın nasıl bir araya geldiğine bir örnek ve derinlemesine bir bakış verilmiştir.
Flexbox'ta yeni misiniz veya aşina değil misiniz? Arka plan, terminoloji, yönergeler ve kod parçacıkları için bu CSS Püf Noktaları esnek kutu kılavuzunu okuyun .
Yukarıdaki örnek, önceden tanımlanmış ızgara sınıflarımızı kullanarak küçük, orta, büyük ve ekstra büyük cihazlarda üç eşit genişlikte sütun oluşturur. Bu sütunlar, üst öğenin bulunduğu sayfada ortalanır .container
.
Parçalamak, işte nasıl çalıştığı:
- Kapsayıcılar, sitenizin içeriğini ortalamak ve yatay olarak doldurmak için bir araç sağlar.
.container
Duyarlı bir piksel genişliği veya tüm görünüm alanı ve cihaz boyutları.container-fluid
için kullanın .width: 100%
- Satırlar, sütunlar için sarmalayıcılardır. Her sütun,
padding
aralarındaki boşluğu kontrol etmek için yatay (oluk olarak adlandırılır) sahiptir. Bupadding
daha sonra negatif marjlı satırlarda karşılanır. Bu şekilde, sütunlarınızdaki tüm içerik görsel olarak sol tarafa hizalanır. - Bir ızgara düzeninde, içerik sütunlara yerleştirilmelidir ve yalnızca sütunlar, satırların hemen alt öğeleri olabilir.
- Flexbox sayesinde, belirtilmemiş ızgara sütunları
width
otomatik olarak eşit genişlikte sütunlar olarak düzenlenecektir. Örneğin, dört örneğinin.col-sm
her biri otomatik olarak küçük kesme noktasından ve yukarısından %25 genişliğinde olacaktır. Daha fazla örnek için otomatik yerleşim sütunları bölümüne bakın. - Sütun sınıfları, satır başına olası 12'den kullanmak istediğiniz sütun sayısını gösterir. Yani, üç eşit genişlikte sütun istiyorsanız, kullanabilirsiniz
.col-4
. - Sütun
width
s yüzde olarak ayarlanır, bu nedenle her zaman akıcı ve üst öğelerine göre boyutlandırılmıştır. - Sütunlar, tek tek sütunlar arasında oluklar oluşturmak için yataydır , ancak üzerinde bulunan satırlardan ve sütunlardan
padding
kaldırabilirsiniz .margin
padding
.no-gutters
.row
- Izgarayı duyarlı hale getirmek için, her duyarlı kesme noktası için bir tane olmak üzere beş ızgara kesme noktası vardır : tüm kesme noktaları (çok küçük), küçük, orta, büyük ve çok büyük.
- Izgara kesme noktaları, minimum genişlikteki medya sorgularını temel alır, yani bu bir kesme noktasına ve onun üzerindeki tüm kesme noktalarına uygulanır (örneğin,
.col-sm-4
küçük, orta, büyük ve çok büyük cihazlar için geçerlidir, ancak ilkxs
kesme noktası için geçerli değildir). - Daha semantik işaretleme için önceden tanımlanmış ızgara sınıflarını (
.col-4
) veya Sass karışımlarını kullanabilirsiniz.
Bazı HTML öğelerini esnek kapsayıcı olarak kullanamama gibi, flexbox çevresindeki sınırlamaların ve hataların farkında olun .
Izgara seçenekleri
Bootstrap, çoğu boyutu tanımlamak için em
s veya s kullanırken, ızgara kesme noktaları ve kapsayıcı genişlikleri için s kullanılır. Bunun nedeni, görüntü alanı genişliğinin piksel cinsinden olması ve yazı tipi boyutuyla değişmemesidir .rem
px
Kullanışlı bir tabloyla Bootstrap ızgara sisteminin birçok cihazda nasıl çalıştığını görün.
Ekstra küçük <576 piksel |
Küçük ≥576 piksel |
Orta ≥768 piksel |
Büyük ≥992px |
Ekstra büyük ≥1200 piksel |
|
---|---|---|---|---|---|
Maksimum kap genişliği | Yok (otomatik) | 540 piksel | 720 piksel | 960 piksel | 1140 piksel |
sınıf öneki | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# sütun | 12 | ||||
oluk genişliği | 30 piksel (bir sütunun her iki tarafında 15 piksel) | ||||
iç içe | Evet | ||||
Sütun sıralaması | Evet |
Otomatik mizanpaj sütunları
gibi açık bir numaralı sınıf olmadan kolay sütun boyutlandırma için kesme noktasına özgü sütun sınıflarını kullanın .col-sm-6
.
eşit genişlik
Örneğin, burada her cihaza ve görünüm alanına uygulanan iki ızgara düzeni xs
vardır xl
. İhtiyacınız olan her kesme noktası için herhangi bir sayıda birimsiz sınıf ekleyin ve her sütun aynı genişlikte olacaktır.
Eşit genişlikte çok satırlı
.w-100
Sütunların yeni bir satıra ayrılmasını istediğiniz yere bir ekleyerek, birden çok satıra yayılan eşit genişlikte sütunlar oluşturun . .w-100
Bazı duyarlı görüntüleme yardımcı programlarıyla karıştırarak araları duyarlı hale getirin .
Bunun açık flex-basis
veya border
. _ Daha eski tarayıcı sürümleri için geçici çözümler vardır, ancak hedef tarayıcılarınız buggy sürümlerine girmiyorsa bunlara gerek yoktur.
Bir sütun genişliğini ayarlama
Flexbox ızgara sütunları için otomatik yerleşim, bir sütunun genişliğini ayarlayabileceğiniz ve kardeş sütunların çevresinde otomatik olarak yeniden boyutlandırılmasını sağlayabileceğiniz anlamına gelir. Önceden tanımlanmış ızgara sınıflarını (aşağıda gösterildiği gibi), ızgara karışımlarını veya satır içi genişlikleri kullanabilirsiniz. Orta sütunun genişliği ne olursa olsun diğer sütunların yeniden boyutlandırılacağını unutmayın.
Değişken genişlik içeriği
col-{breakpoint}-auto
Sütunları, içeriklerinin doğal genişliğine göre boyutlandırmak için sınıfları kullanın .
Duyarlı sınıflar
Bootstrap'in ızgarası, karmaşık duyarlı düzenler oluşturmak için önceden tanımlanmış beş katman içerir. Sütunlarınızın boyutunu çok küçük, küçük, orta, büyük veya çok büyük cihazlarda uygun gördüğünüz şekilde özelleştirin.
Tüm kesme noktaları
En küçüğünden en büyüğüne kadar aynı olan ızgaralar için .col
ve .col-*
sınıflarını kullanın. Özellikle boyutlandırılmış bir sütuna ihtiyacınız olduğunda numaralı bir sınıf belirtin; aksi takdirde, bağlı kalmaktan çekinmeyin .col
.
Yatay olarak yığılmış
Tek bir .col-sm-*
sınıf kümesi kullanarak, yığın halinde başlayan ve küçük kesme noktasında ( ) yatay hale gelen temel bir ızgara sistemi oluşturabilirsiniz sm
.
Karıştır ve Eşleştir
Sütunlarınızın yalnızca bazı ızgara katmanlarında yığılmasını istemiyor musunuz? Gerektiğinde her katman için farklı sınıfların bir kombinasyonunu kullanın. Her şeyin nasıl çalıştığına dair daha iyi bir fikir için aşağıdaki örneğe bakın.
oluklar
Oluklar, kesme noktasına özgü dolgu ve negatif marj fayda sınıfları ile duyarlı bir şekilde ayarlanabilir. Belirli bir satırdaki olukları değiştirmek için, s'de negatif kenar boşluğu yardımcı programını .row
ve s'deki eşleşen dolgu yardımcı programlarını eşleştirin .col
. İstenmeyen taşmayı önlemek için .container
veya .container-fluid
üst öğesinin de yeniden eşleşen dolgu yardımcı programı kullanılarak ayarlanması gerekebilir.
İşte Bootstrap ızgarasını büyük ( lg
) kesme noktasında ve üzerinde özelleştirmeye bir örnek. Dolguyu ile artırdık, üst öğede ile buna karşı koyduk ve .col
ardından .px-lg-5
sarmalayıcıyı ile ayarladık ..mx-lg-n5
.row
.container
.px-lg-5
Satır sütunları
.row-cols-*
İçeriğinizi ve düzeninizi en iyi şekilde oluşturan sütun sayısını hızla ayarlamak için duyarlı sınıfları kullanın . Normal .col-*
sınıflar tek tek sütunlar için geçerliyken (örneğin, .col-md-4
), satır sütunları sınıfları .row
bir kısayol olarak üst öğede ayarlanır.
Temel ızgara düzenlerini hızlı bir şekilde oluşturmak veya kart düzenlerinizi kontrol etmek için bu satır sütunları sınıflarını kullanın.
Ayrıca beraberindeki Sass karışımını da kullanabilirsiniz row-cols()
:
hizalama
Sütunları dikey ve yatay olarak hizalamak için esnek kutu hizalama yardımcı programlarını kullanın. Internet Explorer 10-11, esnek kapsayıcıda aşağıda gösterildiği gibi olduğunda esnek öğelerin dikey hizalanmasını desteklemez min-height
. Daha fazla ayrıntı için Flexbugs #3'e bakın.
Dikey hizalama
Yatay hizalama
Oluk yok
Ön tanımlı grid sınıflarımızda kolonlar arasındaki oluklar ile kaldırılabilir .no-gutters
. margin
Bu , tüm yakın alt sütunlardan negatifleri .row
ve yatay öğeleri kaldırır .padding
İşte bu stilleri oluşturmak için kaynak kodu. Sütun geçersiz kılma işlemlerinin yalnızca ilk alt sütunlara göre belirlendiğini ve öznitelik seçici aracılığıyla hedeflendiğini unutmayın . Bu, daha spesifik bir seçici oluştururken, sütun dolgusu, boşluk yardımcı programları ile daha da özelleştirilebilir .
Uçtan uca bir tasarıma mı ihtiyacınız var? Üst öğeyi .container
veya öğesini bırakın .container-fluid
.
Pratikte, işte böyle görünüyor. Bunu diğer tüm önceden tanımlanmış ızgara sınıflarıyla (sütun genişlikleri, yanıt veren katmanlar, yeniden sıralamalar ve daha fazlası dahil) kullanmaya devam edebileceğinizi unutmayın.
Sütun sarma
Tek bir satıra 12'den fazla sütun yerleştirilirse, her bir ekstra sütun grubu bir birim olarak yeni bir satıra sarılır.
9 + 4 = 13 > 12 olduğundan, bu 4 sütun genişliğindeki div, tek bir bitişik birim olarak yeni bir satıra sarılır.
Sonraki sütunlar yeni satır boyunca devam eder.
Sütun sonları
Sütunları flexbox'ta yeni bir satıra bölmek küçük bir kesme gerektirir: width: 100%
sütunlarınızı yeni bir satıra sarmak istediğiniz yere bir öğe ekleyin. Normalde bu, birden çok .row
s ile gerçekleştirilir, ancak her uygulama yöntemi bunu hesaba katamaz.
Bu arayı, duyarlı görüntüleme yardımcı programlarımızla belirli kesme noktalarında da uygulayabilirsiniz .
Yeniden sıralama
Sipariş sınıfları
İçeriğinizin görsel sırasını.order-
kontrol etmek için sınıfları kullanın . Bu sınıflar duyarlıdır, böylece kesme noktasına göre ayarlayabilirsiniz (örneğin, ). Beş ızgara katmanının tamamında geçiş desteği içerir .order
.order-1.order-md-2
1
12
Sırasıyla ve ( ) uygulayarak bir öğenin değerini değiştiren responsive .order-first
ve sınıfları da vardır. Bu sınıflar da gerektiğinde numaralandırılmış sınıflarla karıştırılabilir ..order-last
order
order: -1
order: 13
order: $columns + 1
.order-*
Sütunları dengeleme
Izgara sütunlarını iki şekilde dengeleyebilirsiniz: duyarlı .offset-
ızgara sınıflarımız ve kenar boşluğu yardımcı programlarımız . Izgara sınıfları, sütunlarla eşleşecek şekilde boyutlandırılırken, kenar boşlukları, ofset genişliğinin değişken olduğu hızlı düzenler için daha kullanışlıdır.
Ofset sınıfları
.offset-md-*
Sınıfları kullanarak sütunları sağa taşıyın . Bu sınıflar, bir sütunun sol kenar boşluğunu *
sütunlar kadar artırır. Örneğin, dört sütun üzerinde .offset-md-4
hareket eder ..col-md-4
Duyarlı kesme noktalarında sütun temizlemeye ek olarak, ofsetleri sıfırlamanız gerekebilir. Bunu ızgara örneğinde çalışırken görün .
Marj yardımcı programları
v4'teki flexbox'a geçişle, .mr-auto
kardeş sütunları birbirinden uzaklaştırmak gibi kenar boşluğu yardımcı programlarını kullanabilirsiniz.
yuvalama
İçeriğinizi varsayılan ızgarayla iç içe yerleştirmek için mevcut bir sütuna yeni .row
ve bir dizi sütun ekleyin . İç içe satırlar, toplam 12 veya daha az sütun içeren bir dizi sütun içermelidir (mevcut 12 sütunun tümünü kullanmanız gerekmez)..col-sm-*
.col-sm-*
Sas karışımları
Bootstrap'in kaynak Sass dosyalarını kullanırken, özel, anlamsal ve duyarlı sayfa düzenleri oluşturmak için Sass değişkenlerini ve karışımlarını kullanma seçeneğiniz vardır. Önceden tanımlanmış ızgara sınıflarımız, hızlı yanıt veren düzenler için eksiksiz bir kullanıma hazır sınıf paketi sağlamak için bu aynı değişkenleri ve karışımları kullanır.
Değişkenler
Değişkenler ve haritalar, sütun sayısını, cilt payı genişliğini ve kayan sütunların başlayacağı ortam sorgu noktasını belirler. Bunları, yukarıda belgelenen önceden tanımlanmış ızgara sınıflarını ve ayrıca aşağıda listelenen özel karışımları oluşturmak için kullanırız.
karışımlar
Karışımlar, ayrı ızgara sütunları için anlamsal CSS oluşturmak üzere ızgara değişkenleriyle birlikte kullanılır.
Örnek kullanım
Değişkenleri kendi özel değerlerinize göre değiştirebilir veya karışımları varsayılan değerleriyle kullanabilirsiniz. Burada, aralarında boşluk olan iki sütunlu bir düzen oluşturmak için varsayılan ayarların kullanılmasına bir örnek verilmiştir.
Izgarayı özelleştirme
Yerleşik ızgara Sass değişkenlerimizi ve haritalarımızı kullanarak, önceden tanımlanmış ızgara sınıflarını tamamen özelleştirmek mümkündür. Katman sayısını, ortam sorgu boyutlarını ve kap genişliklerini değiştirin ve ardından yeniden derleyin.
Sütunlar ve oluklar
Izgara sütunlarının sayısı, Sass değişkenleri aracılığıyla değiştirilebilir. sütun olukları için genişliği ayarlarken $grid-columns
her bir sütunun genişliğini (yüzde olarak) oluşturmak için kullanılır .$grid-gutter-width
Izgara katmanları
Sütunların ötesine geçerek ızgara katmanlarının sayısını da özelleştirebilirsiniz. Yalnızca dört ızgara katmanı istiyorsanız, $grid-breakpoints
ve öğesini $container-max-widths
aşağıdaki gibi güncellersiniz:
Sass değişkenlerinde veya haritalarında herhangi bir değişiklik yaparken, değişikliklerinizi kaydetmeniz ve yeniden derlemeniz gerekir. Bunu yapmak, sütun genişlikleri, ofsetler ve sıralama için yepyeni bir dizi önceden tanımlanmış ızgara sınıfının çıktısını verecektir. Duyarlı görünürlük yardımcı programları da özel kesme noktalarını kullanacak şekilde güncellenecektir. px
Izgara değerlerini (değil rem
, em
, veya %
) olarak ayarladığınızdan emin olun .