Kategoriler: Genel

CSS İle Web Sayfası Oluşturmak 1

CSS’in en büyük avantajlarından biri ve en önemlisi başka bir koda(XHTML hariç) ihtiyaç duymaksızın sayfa iskeleti ve stilini oluştumamıza olanak sağlamasıdır. CSS 1996′dan beri kullanıla gelen bir standart olsa da popülaretesini Zen Garden’ın sayfa planlaması için kullanmaya başlamasından sonra arttırmıştır. Eskiden sayfayapısını tablolarla oluştururduk. Bu kullanımın bir çok sorunları vardı. Bunları aşmak için CSS ile sayfa planlama metodları kullanılmaya başlanmıştır. Biz burada bu konudan bahsedeceğiz.

CSS ile sayfa planlaması yaparken bazı problemlerle karşılaşacağız, ancak buradan şu anlaşılmamalı CSS’de sorun var. Aksine sorun CSS’den değilde standartları kendine göre yorumlayan web tarayıcılarından kaynaklanmaktadır. Zamanla bu web tarayıcıları kendine çeki düzen vermeye başladı(Örn: İE7 de CSS sorunlarının bir çoğunu halletti) Amaç körü körüne tablosuz web sayfası tasarlamak değil, sayfalarımızı standartlara ve web tarayıcılarına en uygun şekilde kodlamaktır. Hiç tablo kullanmayayım diye tablo kullanılması gerek yerlerde de tablo kullanmamak abesle iştigaldir.

Aslında şimdiye kadar ki makaleler de bu konunun temellerini attık.CSS ile konumlandırma(positioning) , Float ve Clear özellikler ile konumlandırma vd. makaleler bu işin temellerine değindik. Burada daha elle tutulur örneklerle bu metodu anlatmaya çalışacağız.

CSS sayfa planlama metodları üç temel konu üzerine inşa edilmiştir. Konumlandırma, floating ve margin farklılıkları. Bu üç temel konu anlaşıldıktan sonra CSS ile sayfa planlamayı anlamamız çok kolaydır. Biz burada floating metodu ile sayfa oluşturmayı göreceğiz. Bunun dışında konumlandırma öğeleleri kullanarak sayfa oluşturma ve eksi margin değeri ile sayfa oluşturma metodlarıda vardır. Ancak biz burada bunlara değinmeyeceğiz.

Sabit Genişlikteki Sayfalarda İki Kolonlu Yapı

İlk olarak XHTML kodlarını yazalım.

  1. <div id=”sayfa”>
  2. <div id=”ustAlan”>
  3. </div>
  4. <div id=”icerik”>
  5. </div>
  6. <div id=”anaMenu”>
  7. </div>
  8. <div id=”altAlan”>
  9. </div>
  10. </div>

Önemli bir nokta varki oda icerik alanının anaMenu‘den önce gelmesi gerekmektedir. Erişebilirlilik(yani tüm araçlarda sayfamızın en iyi şekilde görünmesi) için icerik alanının anaMenu‘den önce gelmesi gerekir. Çünkü pda ve cep telefonu gibi araçlarda katmanların sıralamasına göre ekranda görüneceğinden, ilk olarak içerik alanının görünmesi tercih sebebidir. şžimdi css kodumuzu yazarsak:

  1. #sayfa
  2. {
  3. width:768px;
  4. }
  5. #ustAlan
  6. {
  7. width: 768px;
  8. }
  9. #icerik
  10. {
  11. float: right;
  12. width: 568px;
  13. }
  14. #anaMenu
  15. {
  16. float: left;
  17. width: 200px;
  18. }
  19. #altAlan
  20. {
  21. width: 768px;
  22. clear: both;
  23. }

Bu kodu yazdıktan sonra sayfamız başta gördüğümüz şekildeki duruma gelmiş bulunmaktadır. Burada yazdığımız kodda “icerik” alanının sağa, “anaMenu” alanının sola yerleşmesi için genişlik değeri ve float değerleri tanınmlanmıştır. Ayrıca altAlan‘ın bu iki bölümün altında kalması için clear:both tanımlaması yapılmıştır.

CSS ile sayfalarımızı ve elementlerimizi ortalamak bölümündeki metodu uygulayarak sayfamızı ortalayabilriz.

  1. body{
  2. text-align:center;
  3. }
  4. #sayfa{
  5. width: 768px;
  6. margin:0 auto;
  7. text-align:left;
  8. }

Sabit Genişlikteki Sayfalarda en çok rastlanan problemler sabit genişlik uygulanan katmanlara pading, margin ve border değeri atandığında IE5 de sorunlu görünmesidir bu problemi aşmak için iki yöntem vardır. Birinci yöntem CSS ile Kutu modeli, sorunları ve çözümleri bölümünde anlatılmıştır. ikinci yöntem ise kapsayıcı katmanlara(icerik, anaMenu vb.) padding ve margin vermek yerine kapsayıcı katman içindeki elementlere bu atamaları yapmaktır.

Basit yapılı sayfalarda ikinci yöntemi, karmaşık yapılı sayfalarda ise birinci yöntemi denemenizi öneririm.

Likit Sayfalarda İki Kolonlu Yapı

Likit Sayfalarda Sabit Genişlikteki Sayfalar’dan farklı olarak genişlik değerleri piksel(px) olarak değil yüzde(%) olarak verilmesidir. Bu tür sayfalarda sayfa genişliği web tarayıcısının boyutu ile bağlantılıdır. Web tarayıcısının genişliği arttırıldığında sayfa genişliği artacak, web tarayıcısının genişliği azaltıldığında sayfa genişli azalacaktır. Kodu yazarsak:

  1. body{
  2. text-align:center;
  3. }
  4. #sayfa{
  5. width:83%;
  6. margin:0 auto;
  7. text-align:left;
  8. }
  9. #ustAlan
  10. {
  11. width: 100%;
  12. }
  13. #anaMenu
  14. {
  15. float: left;
  16. width: 30%;
  17. }
  18. #icerik
  19. {
  20. float: right;
  21. width: 70%;
  22. }
  23. #altAlan
  24. {
  25. width: 100%;
  26. clear: both;
  27. }
Kolonlu Yapı

Bir çok sitede üç kolonlu yapı kullanılmaktadır. kolonlu yapı ile iki kolonlu yapının kodlamasında fazla bir fark yoktur. Tek yapamız gereken yapıyı iki kolonlu bölümlere ayırmaktır, bunun için sağdaki iki kolonu bir kapsayıcı katman(KapsayiciAlan) içine alarak yapıyı iki kolonlu hale getirdik(anaMenu ve KapsayiciAlan)

  1. body{
  2. text-align:center;
  3. }
  4. #sayfa{
  5. width:768px;
  6. margin:0 auto;
  7. text-align:left;
  8. }
  9. #ustAlan
  10. {
  11. width:768px;
  12. }
  13. #anaMenu
  14. {
  15. float: left;
  16. width: 200px;
  17. }
  18. #KapsayiciAlan
  19. {
  20. float: right;
  21. width: 568px;
  22. }
  23. #icerik
  24. {
  25. float: left;
  26. width: 368px;
  27. }
  28. #BannerAlani{
  29. float: right;
  30. width: 200px;
  31. }
  32. #altAlan
  33. {
  34. width:768px;
  35. clear: both;
  36. }

Ve ayrıca xhtml koda da aşağıdaki değişiklikleri yaptığımızda üç kolonlu yapıyı elde ederiz.

  1. <div id=”sayfa”>
  2. <div id=”ustAlan”>
  3. </div>
  4. <div id=”KapsayiciAlan”>
  5. <div id=”icerik”>
  6. </div>
  7. <div id=”BannerAlani”>
  8. </div>
  9. </div>
  10. <div id=”anaMenu”>
  11. </div>
  12. <div id=”altAlan”>
  13. </div>
  14. </div>

Aynı şekilde Likit sayfalarda üç kolonlu yapı oluşturabiliriz. Yapmamız gerek tek şey değerleri (%) olarak vermektir.

4,5 vd. kolonlu yapıyı da aynı şekilde yapabiliriz. Bence 3 kolonlu yapıdan sonraki kadamelerde(4,5 vd.) tüm katmanlara float:left verilerek oluşturmak daha mantıklı ve kolay olur.

Bul-Tikla

Son Yazılar

Karakter, Kişilik, Huy ve Mizaç Nedir?

Karakter, Kişilik, Alışkanlık ve Mizaç Nedir? İnsan ve insanı idrak etmek; tarihin her döneminde hem…

1 gün ago

Zekanı Ölç: 5 Soruda Kitap IQ’n Kaç?

Kitap Diyarı internet sayfasında gezinirken deneyiminizi geliştirmek için çerezleri kullanıyoruz. Bu çerezlerden, gerektiği benzer biçimde…

2 gün ago

Bu Testte Doğru Yok… Sadece Sen Varsın

Seçimlerine nazaran ilerleyen kontrol Bir Kitap Buluyorsun… Okur Ruhun Ortaya Çıkıyor Bu testte doğru ya…

2 gün ago

Gözlemci Bakış Açısı Nedir? – Türk Dili ve Edebiyatı

Gözlemci Bakış Açısı Nedir? Edebiyat, bir olay örgüsünü yalnız anlatmak değil, onu belirli bir pencereden…

4 gün ago

Nehir Roman Nedir? – Türk Dili ve Edebiyatı

Dere Roman Nedir? Edebiyat, insan deneyimini ve toplumsal dönüşümü kayıt altına alan en kuvvetli sanat…

7 gün ago

Kur’an İncil ve Tevrat’ın Sümerdeki Kökeni Özeti ve Konusu

Kur’an İncil ve Tevrat’ın Sümerdeki Kökeni – Muazzez İlmiye ÇığTür:Araştırma – TarihYazar:Muazzez İlmiye ÇığYayınlanma Zamanı:2015Yayınevi:Kaynak…

1 hafta ago