Freelance Web Tasarımcı mı, Ajans mı? 2026'da Doğru Seçim
Freelance web tasarımcı mı, ajans mı? Bütçe, iletişim, süreklilik ve risk açısından iki modeli karşılaştırdık; hangi projede hangisinin mantıklı olduğunu somut ölçütlerle...
Devamını okuBootstrap grid sistemi sayfayı 12 sütunluk esnek bir ızgaraya böler. Bootstrap 5 ile container, row ve col mantığı, breakpoint tablosu, örnek kodlar ve sık yapılan hatalar.
Bootstrap grid sistemi, sayfayı 12 sütunluk esnek bir ızgaraya bölerek içeriği ekran genişliğine göre yerleştiren düzen yapısıdır. Mantık üç katmandan oluşur: container dış çerçeveyi, row yatay satırı, col ise satırın içindeki sütunları belirler. Hangi sütunun hangi ekranda kaç birim yer kaplayacağını da breakpoint'lere bağlı sınıflarla söylersiniz.
Responsive tasarım yaygınlaşmadan önce sayfa düzenleri sabit piksel genişlikleri ve "float" hileleriyle kurulurdu; her yeni ekran boyutu yeni bir sorun demekti. Bootstrap'in ızgarası bu işi standart bir sınıf diline çevirdi. Bootstrap 4 ile flexbox tabanına geçen grid, Bootstrap 5'te jQuery bağımlılığının da kaldırılmasıyla hafif ve öngörülebilir bir araca dönüştü.
Kürekod olarak 2016–2018 arasında reklam ajanslarına yaptığımız PSD to Bootstrap işlerinin temelinde bu ızgara vardı. Tasarımcının çizdiği düzeni sütunlara bölmek, kodlamaya başlamadan önce yaptığımız ilk işti. Konunun tasarımdan koda tarafını PSD to HTML nedir yazımızda anlattık.
Aşağıda container, gutter, breakpoint gibi kavramlar sık geçecek. Bunlar size yabancıysa Digital Küre'nin bilmeniz gereken web tasarım terimlerini derleyen yazısı hızlı bir başlangıç sağlar.
Container, içeriği yatayda ortalayan ve kenarlarda boşluk bırakan dış kaptır. Üç türü vardır: .container her breakpoint'te belirli bir en fazla genişliğe sabitlenir; .container-fluid her zaman ekranın tamamını kaplar; .container-md gibi sınıflar ise belirtilen breakpoint'e kadar tam genişlikte kalır, oradan sonra sabitlenir.
Row, sütunları yan yana dizen flex kapsayıcısıdır. Sütunlar arasındaki boşluğu (gutter) dengelemek için kenarlarında negatif boşluk bulunur; bu yüzden row her zaman bir container ya da bir sütunun içinde kullanılmalıdır. Sütunlar da row'un doğrudan alt öğesi olmalıdır.
Col, içeriğin yerleştiği sütundur. Bir satırda toplam 12 birim vardır: .col-6 yarım genişlik, .col-4 üçte bir, .col-3 dörtte bir demektir. Sayı verilmeden kullanılan .col kalan alanı diğer sütunlarla eşit paylaşır; .col-auto ise içeriği kadar yer kaplar.
Üç kartlık tipik bir hizmet bölümü şöyle kurulur:
<div class="container">
<div class="row g-4">
<div class="col-12 col-md-6 col-lg-4">Kart 1</div>
<div class="col-12 col-md-6 col-lg-4">Kart 2</div>
<div class="col-12 col-lg-4">Kart 3</div>
</div>
</div>
Bu kodda kartlar telefonda alt alta dizilir, tablette ikişerli, geniş ekranda üçü yan yana durur. Üçüncü kartta md sınıfı olmadığı için col-12 tablette de geçerli kalır; kart ikinci satırı tek başına tam genişlikte doldurur ve yarım genişlikte yalnız kalmaz.
Breakpoint, düzenin değiştiği ekran genişliği eşiğidir. Bootstrap 5'te altı kademe vardır:
| Kademe | Sınıf eki | Ekran genişliği | .container en fazla genişliği |
|---|---|---|---|
| Extra small (xs) | Ek yok (.col-6) | 576px'ten küçük | Tam genişlik |
| Small (sm) | -sm (.col-sm-6) | 576px ve üzeri | 540px |
| Medium (md) | -md (.col-md-6) | 768px ve üzeri | 720px |
| Large (lg) | -lg (.col-lg-6) | 992px ve üzeri | 960px |
| Extra large (xl) | -xl (.col-xl-6) | 1200px ve üzeri | 1140px |
| Extra extra large (xxl) | -xxl (.col-xxl-6) | 1400px ve üzeri | 1320px |
Tablodaki en önemli ayrıntı "ve üzeri" ifadesidir. Bootstrap mobil öncelikli (mobile-first) çalışır: .col-md-6 "768 pikselden itibaren yarım genişlik" demektir; daha küçük ekranlarda, başka bir sınıf yoksa sütun tam genişliğe döner. Bu yaklaşım mobil uyumlu web tasarımın temel prensibiyle birebir örtüşür: önce en küçük ekranı düşünür, ekran genişledikçe düzeni zenginleştirirsiniz.
Bir ürün listesi row-cols ile şöyle yazılır:
<div class="row row-cols-2 row-cols-md-3 row-cols-xl-4 g-3">
<div class="col">Ürün</div>
<div class="col">Ürün</div>
<div class="col">Ürün</div>
<div class="col">Ürün</div>
</div>
Telefonda iki, tablette üç, geniş ekranda dört ürün yan yana dizilir. Listeye yeni ürün eklendiğinde hiçbir sınıfı değiştirmeniz gerekmez.
Gutter, sütunlar arasındaki boşluktur ve Bootstrap 5'te her sütunun iki yanındaki iç boşlukla (padding) oluşturulur. Row'un kenarlarındaki negatif boşluk, en dıştaki sütunların bu iç boşluğunu dengeler; böylece içerik container'ın kenarıyla hizalı kalır. Bu yüzden bir sütuna kendi CSS'inizle yatay padding verdiğinizde hizalar kayar.
Sütunların içindeki kutuya arka plan rengi ya da kenarlık vermek istiyorsanız, bunu sütunun kendisine değil, içine koyacağınız bir kutuya uygulayın. Aksi halde renk boşluğun içine taşar ve kartlar birbirine yapışık görünür. Yeni başlayanların en sık takıldığı noktalardan biri budur.
Modern tarayıcılar artık CSS Grid'i doğrudan destekliyor, bu yüzden "Bootstrap ızgarasına hâlâ gerek var mı?" sorusu sık soruluyor. Kısa cevap: ikisi farklı işler için güçlü. Bootstrap'in flexbox tabanlı ızgarası sayfa bölümlerini satır satır, ekran genişliğine göre düzenlemekte pratik ve öngörülebilirdir. CSS Grid ise hem satırın hem sütunun aynı anda kontrol edildiği iki boyutlu düzenlerde, örneğin farklı boyutlarda kutulardan oluşan bir galeri ya da yönetim paneli ekranında öne çıkar.
Bootstrap 5.1 ile birlikte Sass ayarlarından açılabilen deneysel bir CSS Grid seçeneği de geldi. Ayrıca yalnızca ızgaraya ihtiyacınız varsa, Bootstrap paketindeki bootstrap-grid.css dosyasını tek başına kullanabilirsiniz; bileşenlerin tamamını yüklemeniz gerekmez.
Bootstrap grid sistemini bilmek yalnızca geliştiricilerin işi değil. Tasarımcı Figma'da 12 sütunluk bir ızgara kullandığında ya da proje yöneticisi "bu bölüm tablette ikili olsun" dediğinde, herkes aynı yapıdan bahsetmiş olur. Bu ortak dil, revizyon sayısını ve yanlış anlaşılmaları belirgin biçimde azaltır.
Kendi tasarımınızın temiz, Bootstrap tabanlı bir koda dönüştürülmesi gerekiyorsa, bu işte nelere dikkat ettiğimizi tasarımdan koda hizmet sayfamızda anlattık.
Web sitenizi Kürekod'un 13 yıllık deneyimi ve Digital Küre ekibiyle hayata geçirin. İhtiyacınızı anlatın, size net bir teklif hazırlayalım.