Wp - Max Tema Türkçe ( Magazine Teması ): oku>> Türkçe karakter sorunu ( ascii kodları , meta tagları , karakter kümeleri .. ): oku>> Adana Seyhan Belediyesi Öğrenim Bursu Hakkında: oku>> Wordpress Classic Modern Tema Türkçe: oku>> Web de Reklam Sistemleri: oku>> True Elegance Blogger teması: oku>> Firefox Temaları ve Mattahan Teması: oku>> İlginç Bir Tarayıcı Gösterisi: oku>> Opera 9.6 Final Türkçe Piyasada: oku>> Facebook 'ta Ayrılık Rüzgarları: oku>>

css te elemanları konumlandırma( float,position,display) ve çerçeveler

 27-07-2008
      ercani         css notları

CSS i anlamak ve ona hakim olmak için bilinmesi gereken bir konudur. Tablosuz bir web tasarımı, daha temiz kod, daha az sorun  ve daha kullanışlı bir web sitesi demektir. Bunu anlamak içinde çerçeve modelini bilmemiz gerekir. Her eleman aksi belirtilmediği sürece (display:none) bir çerçeve üretir.
Örneğin <p> elemanı aşağıdaki şekilde çerçeve üretir. Ve bu çerçeve modeline istersek müdahale edebiliriz.

Örnekte görüldüğü gibi bir eleman belirtilen değerlere göre bir çerçeve üretir. İşte bu çerçevenin bir içerikte yüzdürülmesi, konumlandırılması veya çerçeve türünü belirliyen nitelikler vardır.Onlara değinecez ama önce çerçevenin oyutları hakkında bilgi verelim.
Çerçevenin boyutlarını şunlar belirler;
width:Çerçevenin genişliği bu nitelik ile tanımlanır..
Eğer niteliğin değeri auto ise kullanıcı arayüzü bu genişliği kendisi belirler.
height:Çerçevenin yüksekliği bu nitelik ile tanımlanır.
Eğer niteliğin değeri auto ise taşıyıcı bloğun yüksekliği belgenin içeriğine uygun olarak büyüyecektir.

Bir elemanın bu şekilde çerçeve (blok) üretmesinin nedeni display niteliğidir. Yani blok seviyesinde olmayan bir elemanı blok seviyesine getirmek için veya tam zıtdı olarak blok seviyesinden bir elemanın seviyesinin indirgemek için kullanılır.Örnek verecek olursak;

  1. <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
  2. <html>
  3. <head>
  4. <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-9″>
  5. <meta name=”Description” content=”deneme bir web sayfasıdır”>
  6. <title>——***deneme bir web sayfası***——–</title>
  7. <style type=”text/css”>
  8. <!–div{display:block;
    border:#00CC33 solid thin;
    width:75px;}
    p{display:block;
    border:#000000 double thin;
    width:75px;
    margin:1em;
    }
  9. –>
    </style>
    </head>
  10. <body>
  11. <div>
  12. <p>merhaba bu bir yazıdır. ve div elemanının içinde kalmıştır.</p></div>
  13. </body>
  14. </html>


bu kodlar aşağıdaki gibi yorumlanır.  Çünkü div elemanı p elemanını kapsıcak şekilde konumlandırılmıştır. Ve divdisplay:block denerek çerçeve eklenmiştir. elemanına

Şimdi display niteliğinin özelliklerini verelim.

block

Bu değer bir elemanın bir ilkesel blok çerçevesi üretmesine sebep olur.

inline

Bu değer bir elemanın , bir veya daha fazla sayıda satıriçi çerçeve üretmesine sebep olur.

list-item

Bu değer bir elemanın (HTML’deki <li> gibi) blog çerçevesi ve bir liste öğesi gibi satır içi blok çerçevesi üretmesine sebep olur.

none

Bu değer bir elemanın  hiçbir çerçeve üretmemesine sebep olur (yani, elemanın yerleşime hiçbir etkisi olmaz; başka bir deyişle, gösterilmez).

run-in

compact

Bu değerler bağlama göre bir blok veya satıriçi çerçeve üretirler. Nitelikler bu çerçevelere son durumlarına göre (satıriçi/blok seviyesinden) uygulanır

table, inline-table, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell ve table-caption
Bu değerler bir elemanın tablo elemanı gibi davranmasına sebep olur.

Şimdi bir kaç özellik daha vererek devam etmek istiyorum.

satıriçi seviyeden elemanlar ve satır içi çerçeveler:
kaynak belgenin içeriğinde blok bulunmayan elemanlarıdır. örneğin bir parağrafımız olsun paragrafın belli cümleleri italik veya kalın yapılmak istenebilir. bunun için kullanılan kodlar çerçeve üretmez örmeğin;
<p>bir metin <strong>devam</strong></p> burada <strong>
elemanı çerçeve üretmez. ama üretmesini istiyorsak diplay niteliğinin şu özelliklerini kullanabiliriz. inline, inline-table, compact ve run-in .
Anonim satıriçi çerçeveler
Kodumuz şöyle olsun

<p>birşeyler <em>yazıyor</em> önemli değil.</p>
Burada em elemanı yukarıda bahsettiğim satıriçi elemanıdır. ve istenirse blok
seviyesine getirilebilir. Diğer cümleler "birşeyler" ve "önemli değil" anonim satıriçi
çerçevedir. Yani özelliklerini p elemanından alır. Çerçeve üretmezler.
Sanırım az çok bir elemanın nasıl çerçeve ürettiğini ve çerçevelerin nasıl
nitelendirildiğini anladık. Sıra geldi bu çerçevelerin birbiri içinde nasıl konumlan-
dırıldığına.
Css te üç çeşit konumlandırma vardır.
1.Normal akış (position:static , position:relative)
2.Float ve mutlak konumlar( position:absolute)
3.Bir nitelik tanımlanmadığı taktirde normal konum denen şekilde konumlanırlar.

Şimdi position niteliğine bir bakalım.
Position kutu modellerini konumlandırmaya yarar.
Position un öncelikle Aldıgı Degerler: static,relative,absolute,fixed,inherit dir.
Bu değer verildikten sonra kutunun yeri top,bottom,right ve left değerleriyle
belirlenir.
Göreceli Konumlandırma(position:relative):Bu nitelik atandağında kutu verilen top,left
right ve bottom niteliklerine göre konumlanır. örnek olarak;
p#deneme{position: relative;
left: 10px;
top: 10px;
}

Burada p elemanı diğer kutulara göre soldan ve yukardan 10px kayar.
Mutlak(Absolute) Konumlandırma:
Bu konumlandırmada üstteki 1.kutu ve 3. kutu kaydırılan kutuyu yok sayıp konumlan-
malarına devam edeceklerdir. Yani relative değeri boşluk bırakır ve diğer kutular bu
boşluğa uyar ama absolute de bu söz konusu değildir. Kaydırılan kutu akıştan çıkar.
Sabit Konumlandırma (position:fixed):
Sabit konumlandırma aynen mutlak konumlandırmaya benzer. Farkı position:fixed diye
tanımlanan kutu akıştan çıkar ve orada sabitlenir. Yani kaydırma çubuğuyla biz aşağıya
insek bile kutu orada sabit kalır yukarı çıkmaz.(Bu özelliği IE6 desteklemiyor)
Float özellğinide diğer yazımda vermek istiyorum


3 Konuşma Bakalım Kim Ne Demiş?


1
Yoruma Cevap Yaz 1/Ağu/2008@08:28

2
Yoruma Cevap Yaz 2/Ağu/2008@00:06

3
Yoruma Cevap Yaz 22/Ağu/2008@19:10

Sadece Düşünme, Sende Konuş

WARNING

Your browser does not support JavaScript or has JavaScript disabled!

This will not compromise the possibility to leave a comment, although the automatic insertion of both markup tags and emoticons will not work.

Markup Controls
Emoticons Smile Grin Sad Surprised Shocked Confused Cool Mad Razz Neutral Wink Lol Red Face Cry Evil Twisted Roll Exclaim Question Idea Arrow Mr Green

Takip Etmek İstiyorum

Yazılar e-mailine Gelsin

Email adresini yaz:

Delivered by FeedBurner


RSS İle Takip EdeceğimRSS beslemesi

İstatistik Bilgileri

  • 154 adet yazı var.
  • 553 adet yorum var.
  • 5 Kişi şu anda çevrimiçi
  • 31 aynı anda maksimum kişi
  • 41217 Toplam ziyaretçi