grid
Örnek
CoreUI'nin Bootstrap için ızgara sistemi, içerikleri düzenleyip hizalamak için bir dizi konteyner, satır ve sütun kullanır. Flexbox ile oluşturulmuştur ve tamamen duyarlıdır. Aşağıda ızgara sisteminin nasıl bir araya geldiğine dair bir örnek ve ayrıntılı açıklama bulunmaktadır.
Flexbox'a yeni misiniz veya aşina değil misiniz? Arka plan, terminoloji, yönergeler ve kod kesitleri için bu CSS Tricks flexbox kılavuzunu okuyun.
Sütun
Sütun
Sütun
Yukarıdaki örnek, önceden tanımlanmış ızgara sınıflarımızı kullanarak tüm cihazlar ve görünüm alanları boyunca üç eşit genişlikte sütun oluşturur. Bu sütunlar, üst düzey .container
ile sayfada ortalanmıştır.
Nasıl çalışır
Ayrıntılara girmeden, ızgara sisteminin nasıl bir araya geldiğine bakalım:
Izgaramız
altı duyarlı kesme noktalarını
destekler. Kesme noktaları,min-width
medya sorgularına dayanmaktadır, bu da kesme noktasının ve üzerindeki tüm kesme noktalarını etkilediği anlamına gelir. Örneğin,.col-sm-4
,sm
,md
,lg
,xl
vexxl
'ye uygulanır. Bu, her bir kesme noktasına göre konteyner ve sütun boyutlandırmasını ve davranışını kontrol edebileceğiniz anlamına gelir.Konteynerler içeriğinizi ortalar ve yatay olarak boşluk bırakır. Tüm görünüm alanları ve cihazlar boyunca
width: 100%
için.container
kullanın, ya da akışkan ve piksel genişliklerinin bir kombinasyonu için duyarlı bir konteyner kullanın (örneğin,.container-md
).Satırlar sütunlar için sarıcıdır. Her sütun, sütunlar arasındaki boşluğu kontrol etmek için yatay
padding
içerir. (Bu boşluğa gutter denir). Bupadding
daha sonra negatif kenar boşlukları ile satırlarda dengelenerek sütunlarınızdaki içeriğin soldan görsel olarak hizalanmasını sağlar. Satırlar ayrıcasütun boyutlandırmasını uniform bir şekilde uygulamak
ve içeriğinizin boşluğunu değiştirmek içingutter sınıflarını
destekleyen değiştirici sınıflara sahiptir.Sütunlar son derece esnektir. Her bir satırda mevcut 12 şablon sütun bulunmaktadır, böylece belirli bir sayıda sütun boyunca uzanan farklı bileşimler oluşturabilirsiniz. Sütun sınıfları hangi sayıda şablon sütununa yayılacağını belirtir (örneğin,
col-4
, dört sütuna yayılır).width
değerleri yüzde cinsinden ayarlanır, bu nedenle her zaman aynı göreceli boyutlandırmayı elde edersiniz.Gutterler de duyarlı ve özelleştirilebilir. Duyarlı kesme noktalarının tamamında
Gutter sınıfları mevcuttur
ve hepsikenar boşluğu ve dolgu aralıklarımızla
aynı boyutlardadır. Yatay gutterları.gx-*
sınıfları ile, dikey gutterları.gy-*
, tüm gutterları ise.g-*
sınıfları ile değiştirebilirsiniz. Gutterları kaldırmak için.g-0
da mevcuttur.
Flexbox ile ilgili sınırlamaların ve hataların farkında olun; bazı HTML öğelerini esnek konteynerler olarak kullanamama gibi sorunların olduğunu unutmayın.
Izgara seçenekleri
CoreUI'nin Bootstrap için ızgara sistemi, tüm altı varsayılan kesme noktasında ve özelleştirdiğiniz herhangi bir kesme noktasında uyum sağlayabilir. Altı varsayılan ızgara katmanları şöyle:
- Ekstra küçük (xs)
- Küçük (sm)
- Orta (md)
- Büyük (lg)
- Ekstra büyük (xl)
- Ekstra ekstra büyük (xxl)
Yukarıda belirtildiği gibi, bu kesme noktalarının her birinin kendi konteyneri, benzersiz sınıf ön eki ve değiştiricileri vardır. İşte ızgaranın bu kesme noktalarında nasıl değiştiği:
xs
<576px
sm
≥576px
md
≥768px
lg
≥992px
xl
≥1200px
xxl
≥1400px
<th class="text-nowrap" scope="row">Konteyner <code class="fw-normal">max-width
Yok (otomatik)
540px
720px
960px
1140px
1320px
Sınıf ön eki
<td>.col-
<td>.col-sm-
<td>.col-md-
<td>.col-lg-
<td>.col-xl-
<td>.col-xxl-
Sütun sayısı
12
Gutter genişliği
1.5rem (solda ve sağda .75rem)
Özelleştirilmiş gutter'lar
}}">Evet
İç içe geçme
Evet
Sütun sıralaması
}}">Evet
Otomatik düzen sütunları
Hesaplanmış kesme noktasına özgü sütun sınıflarını kullanarak, .col-sm-6 gibi açık bir numaralı sınıf olmadan kolay sütun boyutlandırması yapabilirsiniz.
Eşit genişlik
Örneğin, işte xs
'den xxl
'ye kadar her cihaz ve görünüm alanına uygulanacak iki ızgara düzeni. İhtiyacınız olan her kesme noktası için herhangi bir sayıda birim içermeyen sınıf ekleyin ve her sütun aynı genişlikte olacaktır.
1'den 2'ye
2'den 2'ye
1'den 3'e
2'den 3'e
3'ten 3'e
Bir sütun genişliğini ayarlama
Flexbox ızgara sütunları için otomatik düzen, bir sütunun genişliğini ayarlayabileceğiniz ve akran sütunların otomatik olarak etrafında yeniden boyutlandırılabileceği anlamına gelir. Aşağıda gösterilene ek olarak, önceden tanımlanmış ızgara sınıflarını, ızgara karışımlarını veya satır içi genişlikleri kullanabilirsiniz. Diğer sütunlar, merkezi sütunun genişliğinden bağımsız olarak yeniden boyutlandırılacaktır.
1'den 3'e
2'den 3'e (daha geniş)
3'ten 3'e
1'den 3'e
2'den 3'e (daha geniş)
3'ten 3'e
Değişken genişlikte içerik
Sütunları içeriklerinin doğal genişliğine dayalı olarak boyutlandırmak için col-{breakpoint}-auto
sınıflarını kullanın.
1'den 3'e
Değişken genişlikte içerik
3'ten 3'e
1'den 3'e
Değişken genişlikte içerik
3'ten 3'e
Duyarlı sınıflar
CoreUI'nın Bootstrap için ızgarası, karmaşık duyarlı düzenler oluşturmak için altı aşamalı önceden tanımlanmış sınıflar içerir. Ekstra küçük, küçük, orta, büyük veya ekstra büyük cihazlar üzerinde sütunlarınızın boyutunu istediğiniz gibi özelleştirin.
Tüm kesme noktaları
En küçük cihazlardan 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 ihtiyaç duyduğunuzda numaralı bir sınıf belirtin; aksi takdirde, .col ile devam edebilirsiniz.
col
col
col
col
col-8
col-4
Yığılmıştan yatay
Tek bir .col-sm-*
sınıfı seti kullanarak, başlangıçta yığılmış ve küçük kesme noktasında (sm
) yatay hale gelen temel bir ızgara sistemi oluşturabilirsiniz.
col-sm-8
col-sm-4
col-sm
col-sm
col-sm
Karıştır ve eşleştir
Sütunlarınızın bazı ızgara katmanlarında sadece yığılmasını istemiyorsanız, her bir katman için gerekli olduğu gibi farklı sınıfların bir kombinasyonunu kullanın. Aşağıdaki örneği inceleyerek nasıl çalıştığı hakkında daha iyi bir fikir edinebilirsiniz.
.col-md-8
.col-6 .col-md-4
.col-6 .col-md-4
.col-6 .col-md-4
.col-6 .col-md-4
.col-6
.col-6
Satır sütunları
Hızla içeriğinizi ve düzeninizi en iyi şekilde sunan sütun sayısını ayarlamak için duyarlı .row-cols-*
sınıflarını kullanın. Normal .col-*
sınıfları bireysel sütunlara uygulanırken (örneğin, .col-md-4
), satır sütun sınıfları üst düzey .row
üzerinde bir kısayol olarak ayarlanır. .row-cols-auto
ile sütunlara doğal genişliklerini verebilirsiniz.
Bu satır sütun sınıflarını kullanarak temel ızgara düzenleri oluşturun veya kart düzenlerinizi kontrol edin.
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Sütun
Ayrıca eşlik eden Sass karışımını row-cols()
kullanarak da kullanabilirsiniz:
.element {
// Üç sütun ile başlar
@include row-cols(3);
// Orta kesme noktasından itibaren beş sütun
@include media-breakpoint-up(md) {
@include row-cols(5);
}
}
İç içe geçme
Varsayılan ızgarayla iç içe geçmek için, mevcut bir .col-sm-*
sütunun içinde yeni bir .row
ve bir dizi .col-sm-*
sütun ekleyin. İç içe geçmiş satırların toplamı 12 veya daha az sütun eklemesi gerekir (tüm 12 mevcut sütunun kullanılması gerekmez).
Seviye 1: .col-sm-3
Seviye 2: .col-8 .col-sm-6
Seviye 2: .col-4 .col-sm-6
Sass
CoreUI'nın Bootstrap için kaynak Sass dosyalarını kullanırken, özel, anlamlı 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ı duyarlı düzenler için kullanılabilir durumda olan bir dizi sınıf sağlamak için bu değişkenleri ve karışımları kullanır.
Değişkenler
Değişkenler ve haritalar sütun sayısını, gutter genişliğini ve sütunları yüzen olarak başlatmak için medya sorgusu noktasını belirler. Bunları, yukarıda belgelenmiş olan önceden tanımlanmış ızgara sınıflarını oluşturmak için ve aşağıda listelenen özel karışımlar için kullanıyoruz.
$grid-columns: 12;
$grid-gutter-width: 1.5rem;
Karışımlar
Karışımlar, her bir ızgara sütunu için anlamlı CSS oluşturmak üzere ızgara değişkenleri ile birlikte kullanılır.
// Bir dizi sütun için bir sarıcı oluşturur
@include make-row();
// Elemanı ızgara için hazır hale getirir (genişlik hariç her şeyi uygulayarak)
@include make-col-ready();
// İsteğe bağlı boyut değerleri olmadan, karışım eşit sütunlar üretecektir (şu şekilde kullanmakla benzer: .col)
@include make-col();
@include make-col($size, $columns: $grid-columns);
// Kenar boşlukları ile offset
@include make-col-offset($size, $columns: $grid-columns);
Örnek kullanım
Değişkenleri kendi özel değerlerinize uyarlayabilirsiniz veya sadece varsayılan değerleri ile karışımları kullanabilirsiniz. İşte arada boşluk bırakmaları olan iki sütun düzeni oluşturmayı gösteren varsayılan ayarları kullanmanın bir örneği.
.example-container {
@include make-container();
// Bu genişliği karışımından sonra tanımladığınızdan emin olun
// `width: 100%`'yi geçici olarak ayarlamak için
width: 800px;
}
.example-row {
@include make-row();
}
.example-content-main {
@include make-col-ready();
@include media-breakpoint-up(sm) {
@include make-col(6);
}
@include media-breakpoint-up(lg) {
@include make-col(8);
}
}
.example-content-secondary {
@include make-col-ready();
@include media-breakpoint-up(sm) {
@include make-col(6);
}
@include media-breakpoint-up(lg) {
@include make-col(4);
}
}
Ana içerik
İkincil içerik
Izgarayı özelleştirme
Kendi özelleştirilmiş değişkenlerinizi oluşturmak ve yeniden derlemek için yerleşik ızgara Sass değişkenlerini ve haritalarını kullanarak önceden tanımlanmış ızgara sınıflarını tamamen özelleştirmeniz mümkündür. Katman sayısını, medya sorgusu boyutlarını ve konteyner genişliklerini değiştirebilirsiniz.
Sütunlar ve gutterlar
Izgara sütunlarının sayısı Sass değişkenleri aracılığıyla değiştirilebilir. $grid-columns
, her bir bireysel sütunun genişliklerini (yüzde cinsinden) oluşturmak için kullanılırken, $grid-gutter-width
sütun gutterlarının genişliğini ayarlar.
$grid-columns: 12 !default;
$grid-gutter-width: 1.5rem !default;
Izgara katmanları
Sütunların yanı sıra, ızgara katmanlarının sayısını da özelleştirebilirsiniz. Sadece dört ızgara katmanı istiyorsanız, $grid-breakpoints
ve $container-max-widths
'ı şöyle güncellemeniz yeterlidir:
$grid-breakpoints: (
xs: 0,
sm: 480px,
md: 768px,
lg: 1024px
);
$container-max-widths: (
sm: 420px,
md: 720px,
lg: 960px
);
Sass değişkenleri veya haritalarında herhangi bir değişiklik yaptığınızda, değişikliklerinizi kaydetmeniz ve yeniden derlemeniz gerekecektir. Bunu yapmak, sütun genişlikleri, offsetler ve sıralama için yeni bir dizi önceden tanımlanmış ızgara sınıfları üretir. Duyarlı görünürlük yardımcı programları da özelleştirilmiş kesme noktalarını kullanacak şekilde güncellenecektir. Izgara değerlerini px
cinsinden ayarladığınızdan emin olun ( rem
, em
veya %
cinsinden değil).