Css position elementi eski yapılan tasarımlarda pek olmasa artık günümüzün web sitelerinde olmazsa olmaz özelliklerinden biridir yani eski web sitelerimizde sıralı divler (yanyana divler) kullanırken artık bağımsız divler kullanıyoruz. İlk başlarda position kullanmaya çekinirdim tarayıcılar arasında sorunlar yaratır diye ama kullanmaya başladıktan sonra gördüm ki position kullanmak daha basit ve kullanımı kolay.
Benim makale anlayışım örnekler yapmak ve sizlere örnekler göstermektir o yüzden hemen örneklere geçiyorum.
Şimdiki örnekte 3 tane kutu oluşturalım ve bir kutumuzu diğer kutulardan bağımsız yapalım, oluşturduğum kutuların görünümü ve kodları.
.kutu{width: 260px; overflow:hidden; background: #e2e2e2; padding: 10px;}
.kutuBir{width: 50px; height: 50px; background: #BDBDBD;float:left; margin: 10px;}
.kutuIki{width: 60px; height: 60px; background: #889B7F;float:left; margin: 10px;}
.kutuUc{width: 70px; height: 70px; background: #B98F91;float:left; margin: 10px;}
Html Kodları ;
<div class="kutu">
<div class="kutuBir"></div>
<div class="kutuIki"></div>
<div class="kutuUc"></div>
</div>
Görmüş olduğunuz bu kutular float:left; komutu ile yan yana sıralanmış kutulardır. şimdi üçüncü kutuya position:absolute özelliğini verelim ve neler olacak görelim.
.kutuUc{width: 70px; height: 70px; background: #B98F91;float:left; margin: 10px; position:absolute;}
Aaa ne biçim birşey oldun sen öyle sadece position absolute verdik ve kutumuz uçtu gitti. Bunun anlamı açıklayacak olursak ;
Eğer kutuUc class’ımıza sadece position:absolute komutunu verirsek top ve left komutları otomatik olarak 0 değeri alır ve bir üstteki div’i de position:relative; olarak değerlendirir bu yüzden bulunduğu div’in sol üst başlangıç noktasına gider. Ama biz kutuUc divimizi istediğimiz yere koymak istiyoruz o yüzden left: ve top: komutlarına değerler vereceğiz
position:absolute; top:50px; left:300px;
kutuUc’ün class’ına bu position:absolute; top:50px; left:300px; değerini verdik burada top değeri sayfanın en tepesinden başlar , left değeri ise sayfanın en solundan başlar
Css kodları ;
.kutuUc{width: 70px; height: 70px; background: #B98F91;float:left; margin: 10px;position:absolute; top:50px; left:300px;}
Resimde de gördüğünüz gibi kutumuz bizim belirlediğimiz değerlere göre yer değiştirdi.
Kısa yollar:
Eğer div’i direk sayfanın soluna yerleştirmek istiyorsan left:0; komutunu üst tarafa yapıştırmak istiyorsak top:0; sağ tarafa yerleştirmek istiyorsak right:0; aşağıya yapıştırmak istiyorsak bottom:0; komutunu uygulamalıyız.
Bence en önemli kısım burasıdır yani Position:relative. Relative komutu ilişkilendirme komutudur yani
kutuUc’ü kutu div ile ilişkilendiriyoruz ve kutuUc div’inin başlangıç noktaları kutu div’i ile başlıyor.
Hemen bir örnekte bu komut için verelim kutuUc div’inin bir üstündeki yani onu içine alan div’e position:relative; değerini vereceğiz sonra ise biz gene
kutuUc div’i ile uğraşarak yerleştirmemizi yapacağız.
Css kodları ;
.kutu{width: 260px; overflow:hidden; background: #e2e2e2; padding: 10px; position: relative;}
.kutuUc{width: 70px; height: 70px; background: #B98F91;float:left; margin: 10px; position: absolute; top: 30px; left: 40px;}
Resimden de anlaşılacağı gibi kutu div’inin sol tarafından 40px üst tarafından 30px verdik ve kutuUc divini kutu div’i ile ilişkilendirerek istediğimiz yere getirdik.
Position fixed verdiğimiz div çakılı bir şekilde orada kalıyor hiç bir şekilde oynama yapmıyor.Ama bu özelliği ie6 desteklemiyor.
Position komutlırından benim kullandığım özellikler bunlar geri kalan static inherit gibi değerleri benim işime yaramıyor yakında position ile yapılmış kod örneklerini bu sayfadan paylaşacağım.
Kutu renklendirmesi için Umut Candan‘a teşekkürler : )
Bu makale Aycan BÜLBÜL tarafından aycan.net için yazılmıştır.
Kaynak göstermenden yayımlamak yasaktır.
http://www.aycan.net/blog/css/css-position-nedir-nasil-kullanilir.html
Teşekkürler Aycan gene çok güzel bir anlatım yapmışsın devamını bekliyorum.
Allah razı olsun… Güzel Bir Makale… Çalışmalarında Yararlanabilirim…
Güzel makale teşekkürler
peki hocam ben css ye yeni başladım birde bu kutuların ve resimlerin kenarlarına ovallik veriliyor o nasıl yapılıyor?
yani her bir kenara 3px gibi bir değerle ovallik veriliyor bu örneklerdeki kutularada yapabiliyormuyuz ?
Vedat senin dediğin moz-border-radius:3px; bu yuvarlık verir ama yeni nesil tarayıcılarda verir bunun için bir js plunig var http://jquery.malsup.com/corner/ buradan ayrıntılı bilgiye bakabilirsin.
peki aycan arkadaşım bu verdiğin linkteki “ama yeni nesil tarayıcılarda verir bunun için bir js plunig var ” demişsin yani bu js yi kullansam bile ie6 da görünmüyor oylemi ? benim gezdiğim çogu css sitede ie6 dada digerlerindede bu oval köşeler kullanılıyor ama tekniğini bilmiyorum..
Hayır bu pluing sayesinde bütün tarayıcılarda sorunsuz çalışıyor
aycan linki incledim çok teşekkür ederin bu linkteki bilgiler ie senin anlatımını birleştirip güzel örneklemeler yapacagıma eminim
çok tşk ederim diğer konulardada yarıma ihtiaycım olursa siteni sık kullanılanlara ekledim bol bol ziyaret ve eziyet edicem sana
Güzel ve açıklayıcı bir yazı olmuş. Elinize sağlık
tsk.ler
Merhaba
Ellerine sağlık. Çok yararlı oldu. Peki bu kutuların içerisine yazı nasıl yazabiliriz?
Merhaba,
bu position:absolute; mantığı swf playerların üzerine reklam eklerkende çalışır mı ?
Cidden bu arkadaşın o doğal anlatımını ve tasarım yazılımındaki yeteneklerinden ötürü kendisini tebrik ederim. Yolun açık olsun.
teşekkürler güzel bir anlatım olmuş özellikle position relative muhabbeti çok iyi… ama biraz örnek yapmam lazım yerleşmesi için
teşekkürler !
Teşekkür ederiz kardeşim, güzel bir paylaşım
bir divde yazı ile input box’ı yanyana nasıl getirebiliriz?
Çok teşekkürler, 1 haftadır boğuştuğumuz sorunu çözdünüz.
çok yararlı bir makale olmuş. aklımdaki soru işaretlerini büyük ölçüde giderdim. teşekkür ederim.
Geri Bildirim: Css Position nedir? nas
Geri Bildirim: Css Position nedir? nas
Geri Bildirim: Css Position nedir? nas
Geri Bildirim: Css z-index elementi nedir ? nasıl kullanılır ? | Aycan.net
Geri Bildirim: Anonim
Geri Bildirim: Css z-index elementi nedir ? nas?l kullan?l?r ? | Her Bi Şey var bu sitede