Css’in Temeli “Kutu Modeli”

Bu makalemde CSS’in temel düşünce tarzı olan Kutu Modeli‘ni anlatacağım. Bunu makaleyi css hakkında hiçbir şey bilmeden de anlayabilirsiniz ama tavsiyem önce css nasıl bir şeydir bir gözatmanız. Css’i burada baştan anlatmam mümkün değil. Bu sebeple birkaç dakikanızı ayırıp şu kaynaklara bir göz atınız.

  • Mutasyon.Net’in dersler sayfası (Türkçe)
  • W3schools (İngilizce)

Gelelim “Kutu Modeli”ne… Css, nesneleri (yazı, resim, link, form bileşeni vs.) birer kutu olarak düşünür. Bu nesnelerin yukarıdan, sağdan, soldan hizalaması, çerçeveleme vb. bir çok işlem kutu modeli ile gerçekleşir. Daha iyi anlayabilmeniz için bu modeli bir resimle anlatmaya çalışayım.

Neden katmanları ingilizce yazdığımı yazımın sonunda belirteceğim. Zaten o ana kadar siz de anlamış olacaksınız.

içerik : Bu herhangi bir resim, yazı, form bileşeni(input gibi) veya link olabilir.
margin: Transparan bir katman olup border’ın dışındadır. Başka nesnelerle sizin içeriğinizin hizalanmasında kullanılabilir.
border: Kutun etrafında çerçeve oluşturmak istedğiniz zaman bunu kullanabilirsiniz. Margin ve padding gibi transparan değildir(yapısını “none” yapmadığınız sürece) Genişlettiğiniz ve bir yapı verdiğiniz anda(solid, dashed…) ekranda görürsünüz bu çerçeveyi.
padding : Margin ile aynı yapıdadır ve transparandır. Farkı ise kutunuzun içeriğinin hizasını dışarıdaki nesneler ile değil border ile oluşturduğunuz çerçeveye göre yapar.

Bu anlattıklarımı bir örnek ile daha iyi anlayabilirsiniz.

Bu yazı 300 piksel genişliğinde, soldan en dışta margin ile 25 piksel boşluk bırakılarak, border ile 3 piksel genişliğinde ve solid yapısında çerçeve oluşturularak ve bu çerçevenin içinde soldan padding ile 15 piksellik aralık bırakılarak oluşturulmuştur.

Yukarıdaki yazının kodu şu şekildedir

<div style="border: 4px solid ; width: 300px; margin-left: 25px; padding-left: 15px">Bu yazı 300 piksel genişliğinde, soldan margin ile 25 piksel boşluk bırakılarak, border ile 3 piksel genişliğinde çerçeve oluşturularak ve bu çerçevenin içinde soldan padding ile 15 piksellik aralık bırakılarak oluşturulmuştur.</div>

Daha gerçekçi bir örnek wordpress temalarının şablonlarıdır. Tema nasıl yapılır (1)makalemde kullandığım bir resmi örnek alırsak

Buyrun size kutu modeli. Header footer, sidebar, content… hepsi birer kutu olarak düşünülüyor. Birbirleri arasındaki boşluklar margin kullanılarak yapılıyor. İçeriğin (yakuter.com yazan yazılar mesela) hizalaması da padding ile yapılabilir. Dilerseniz container’ın border‘ını solid ile 1 ve üstü piksel genişliğinde yaparsanız bütün sitenin dışında bir çerçeve oluşturabilirsiniz.

Şimdilik bu söylediklerimi kendiniz de deneyerek sonuçları görebilir ve konuyu pekiştirebilirsiniz.

Bir sonraki makalemde internet explorer ile firefox’un bu kutu modelini nasıl farklı yorumladıklarını ve bu farkı css dosyanızla nasıl düzeltebileceğinizi anlatacağım.

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

Feyzullah Ceylan

Feyzullah Ceylan
03 Ağustos 2007

Bilgilendirici bir yazı olmuş.
Diğer CSS yazılarını da gözden geçireceğim.
Paylaşımın için teşekkürler.

Halid

Halid
11 Ağustos 2007

teşekkürler güzel bir makale ;)

Hakan

Hakan
21 Ekim 2007

Çok teşekkür ederim. Bu konuyu bi türlü çözemiyordum. Çok yardımcı oldunuz.

yakuter

yakuter
03 Kasım 2007

bu yazın sayesinde margin, border, padding gibi terimlerin ne anlama geldiğini öğrenmiş oldum. eline sağlık :) bu yararlı anlatım için tebrik ve teşekkür ederim.

melis,

yakuter » Internet Explorer ile W3C’nin CSS Kutu Modeli Farkı

yakuter » Internet Explorer ile W3C’nin CSS Kutu Modeli Farkı
13 Şubat 2008

[...] konuyu pekiştirmek için basit ve sade grafikler hazırlar, onlar üzerinden yazıma devam ederim. Css’in Temeli “Kutu Modeli” başlıklı yazımda da böyle bir resim hazırlamıştım fakat şuradaki makaleyi görünce [...]

ik

ik
10 Şubat 2009

Güzel Kaynak Teşekkürler…

olcay

olcay
04 Aralık 2009

teşekuur ederım.

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi). Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.

WordPressValid XHTML 1.0 TransitionalBu web sitesi ne kadar popüler?php