Files
poyraz-portfolio/content/blog/css-frameworkleri-tan-yoruz-3-b-l-m-bulma.md
T

10 KiB
Raw Blame History

title, category, date, readTime, author, slug, excerpt, coverImage, canonicalUrl
title category date readTime author slug excerpt coverImage canonicalUrl
CSS Frameworkleri Tanıyoruz | 3. Bölüm: Bulma General 2025-05-02 5 min read Poyraz Avsever css-frameworkleri-tan-yoruz-3-b-l-m-bulma CSS Frameworkleri Tanıyoruz | 3. Bölüm: Bulma Bu seride amacımız, popüler CSS frameworklerini sade bir dille tanıtmak, nasıl kullanılacaklarını göstermek ve küçük projelerle … /blog/images/css-frameworkleri-tan-yoruz-3-b-l-m-bulma-cover.jpg https://medium.com/@poyrazavsever/css-frameworkleri-tan%C4%B1yoruz-3-b%C3%B6l%C3%BCm-bulma-7576b893d449

CSS Frameworkleri Tanıyoruz | 3. Bölüm: Bulma

Bu seride amacımız, popüler CSS frameworklerini sade bir dille tanıtmak, nasıl kullanılacaklarını göstermek ve küçük projelerle öğrenmeyi desteklemek. İlk iki bölümde Bootstrap ve Foundation ile temel yapıları öğrendik. Şimdi sırada, sadeliği ve esnekliğiyle öne çıkan Bulma var. Açıkçası ben uzun zamandır Bulmayı incelemek istiyordum. Bugüne nasip oldu.

Bulma, Flexbox temelli yapısı ve anlaşılır sınıf isimlendirmesiyle hem yeni başlayanlar hem de tecrübeli geliştiriciler için oldukça pratik bir seçenek. Hem hızlı prototipleme hem de üretim için kullanabileceğiniz güçlü bir araç.

Hazırsan, birlikte Bulmanın dünyasına kısa bir yolculuğa çıkalım

1. Bulma Nedir?

Bulma, modern web arayüzleri tasarlamak için geliştirilmiş, yalnızca CSS içeren ve %100 Flexbox tabanlı bir frontend frameworktür. JavaScript içermez; bu da onu, sade ve kontrolü tamamen geliştiriciye bırakan bir yapı haline getirir. Özellikle kendi sayfalarında da “Javascript” içermediğine sürekli vurgu yapılıyor.

Bulmanın temel felsefesi, “kodu anlamak kolay olmalı” yaklaşımıdır. Açıkçası bu yaklaşıma oldukça katılıyorum. Sınıf isimlendirmeleri oldukça sezgiseldir ve HTML yazarken tasarımı aynı anda oluşturmak mümkündür. Bu yüzden özellikle hızlı prototipleme için çok tercih edilir.

Öne Çıkan Özellikleri

1.1 - %100 Flexbox Tabanlı Olması

Bulmanın layout sistemi tamamen Flexbox üzerine kuruludur. Bu sayede hem yatay hem de dikey hizalama işlemleri oldukça esnektir. Karmaşık grid yapıları bile birkaç satır sınıf ile kolayca oluşturulabilir.

İçerik 1
İçerik 2

1.2 - Kolay Öğrenilebilir Sınıf Sistemi

Sınıf isimleri açık ve anlamlıdır:

  • is-primary, is-success, is-warning gibi görsel sınıflar, bir bakışta ne işe yaradığını belli eder.
  • has-text-centered, is-fullwidth, is-size-4 gibi yapılar, stil vermek için CSS yazmadan işleri halletmenizi sağlar.

1.3 - Responsive Tasarımlarda Büyük Kolaylık

Mobil öncelikli yaklaşımı benimseyen Bulma, farklı ekran boyutları için özelleştirme yapmayı oldukça kolaylaştırır. Örneğin:

Bu yapı, mobilde tam genişlik, tablette yarım, masaüstünde üçte bir genişlik anlamına gelir.

1.4 - JavaScript Bağımlılığı Yok

Bulma yalnızca CSS içerir. Yani framework içerisinde herhangi bir JS bileşeni bulunmaz. Bu da onu Vue, React, Angular gibi modern frameworklerle kolay entegre edilebilir hale getirir. Dilersen kendi JS kodlarını yazarak veya üçüncü taraf kütüphanelerle destekleyebilirsin.

1.5 - Zengin Hazır Bileşen Desteği

Buton, kart, form, navbar, mesaj kutuları, breadcrumb gibi birçok arayüz bileşeni varsayılan olarak gelir. Örneğin:

2. Bulma Nasıl Kurulur?

Bulmayı kullanmaya başlamak için birkaç farklı yöntem mevcut. İster bir CDN üzerinden hızlıca yükleyebilir, ister projene npm ile kurulum yaparak daha kontrollü bir entegrasyon gerçekleştirebilirsin.

2.1- CDN ile Hızlı Kurulum

Bulmayı en hızlı şekilde projene dahil etmek için CDN (Content Delivery Network) kullanabilirsin. Bu yöntem, projene herhangi bir dosya indirmen gerekmeden doğrudan Bulmanın sunucularından stil dosyalarını yükler.

İhtiyacın olan tek şey HTML dosyanıza şu satırı eklemek:

2.2- npm ile Kurulum

Projenin bir Node.js tabanlı yapısı varsa, npm ile Bulmayı projenize dahil edebilirsin. Bu, özellikle projeyi daha profesyonel şekilde yönetmek isteyenler için iyi bir seçenek. Adımlar:

1 — Projende npmi başlat:

npm init -y

2 — Bulmayı kur:

npm install bulma

3 — node_modules klasöründen Bulma stil dosyasını projene import et:

@import 'node_modules/bulma/css/bulma.min.css';

Bu yöntemle, projenin gereksinimlerine göre daha esnek bir kurulum yapmış olursun. Ayrıca, Bulmanın özelleştirilmiş sürümleri için Sass kullanabilirsin.

2.3- Sass ile Özelleştirme (İleri Seviye)

Bulma, Sass ile özelleştirilebilirsin. Özellikle tasarımın bazı kısımlarını değiştirmek istiyorsan, Bulmanın Sass dosyasını projene dahil edip, kendi özel tasarımını oluşturabilirsin. Bulmanın Sass dosyasına erişmek için npm kurulumunu kullanman gerekecek.

1- Sass dosyasını import et:

@import 'node_modules/bulma/bulma';

2- Bulmanın sunduğu değişkenleri ve mixinleri kullanarak renk, yazı tipi, buton boyutları gibi tasarım öğelerini özelleştirebilirsin. Örneğin:

$primary: #ff6347;

Böylece, global tema renklerinizi değiştirmiş olursunuz.

Harika! Şimdi Bulma ile Basit Bir Proje yapalım. Bu projede, Bulmanın sunduğu temel bileşenleri kullanarak basit bir landing page (karşılama sayfası) tasarımı oluşturacağız. Aslında ne kadar basit ve anlaşılır olduğunu göreceksiniz. Dilerseniz başlayalım.

Basit Bir Proje: Landing Page Tasarımı

Bu projede, temel HTML yapısını kullanarak Bulma framework’ü ile şık bir karşılama sayfası hazırlayacağız. İşte adım adım nasıl yapacağımız:

1. HTML Yapısını Oluşturma

Öncelikle, temel HTML yapısını oluşturalım. Bulmanın sunduğu hero sınıfını kullanarak bir başlık bölümü ekleyeceğiz ve altında birkaç kart bileşeni olacak.

<html lang\="en"\> <head\> Bulma Landing Page </head\>

Hoş Geldiniz