Position: Relative ve Position: Absolute’u Beraber Kullanmak
Yazar: Volkan Görgülü | Yayın Tarihi:
25 Eylül 2008 | Yorumlar:
33 Yorum
Kategori: CSS & XHTML
Arkadaşlar size hemen şu soruyu sormak istiyorum, aşağıdaki kutunun sağ üst, sağ alt ve sol alt köşelerinde bulunan bağlantıları kodlarken, nasıl bir yöntem kullanırsınız?

XHTML Kısmından Bahsetmiyorum
Başlık ve paragraf kendini belli ediyor zaten, arkadaşlarınla paylaş, düşüncelerini paylaş ve
favorilerine ekle bağlantıları için kullandığım etiketleri de aşağıdaki resimde belirttim.

CSS Kısmına Gelelim
İzin verirseniz sorumu güncelleyim, üç bağlantıyı kutunun köşelerine almak için CSS’in hangi özelliklerini kullanırdınız?
Float Özelliği?
Float özelliğini kullanabilirim ama aşağıdaki resimde görüldüğü gibi bağlantılar div‘deki padding değerinden etkilenecekleri için köşelere yapışık olmazlardı.

Tamam belki bir takım ekstra çözümler üreterek float kullanabiliriz ama emin olun bunlara hiç gerek yok. Ayrıca aşağıda bulunan resimdeki gibi kutuların yüksekliğinin sabit olduğu bir durum düşünürsek, aşağıdaki resimde görüldüğü gibi bu bağlantılar yazının kısa olduğu durumlarda, alt sınırdan daha uzak, yazının uzun olduğu durumlarda ise alt sınıra daha yakın olacaklardır.

Çözüm: Position Relative ve Position Absolute
CSS’in position özellikleri genelde çok kullanılan özellikler değil ve bir şekilde gizemli geliyor yeni başlayan arkadaşlara ya da bir şekilde kavranamıyorlar. Ama inanın bana çok basitler. Ve bende bu tip örnekli paylaşımlar ile bu konuda sizleri aydınlatmayı planlıyorum.
position: absolute ile birlikte top, bottom, left ve right özelliklerini kullanarak herhangi bir öğeyi sayfanın istediğimiz yerine yerleştirebiliyoruz.
Zaten Absolute kelimesinin türkçe karşılığıda kesin ve net anlamlarına geliyor. Relative kelimesi ise bağlı ya da ilişkili anlamına geliyor.
Öyleyse ben position:absolute değerini kullanarak istediğim öğreyi istediğim yere yerleştirebiliyorsam bu özelliği kutunun içindeki bağlantılar içinde kullanabilirim.
Ama işte burada bir püf noktası var! Belki siz de daha önce absolute değerini kullanarak yapmaya çalıştınız ama olmadı.
Aslında tüm mesele, resimde gördüğünüz gibi, position: absolute değerine sahip bağlantıları kapsayan, div etiketinede position: relative değerini vererek bağlantılar ile div‘i ilişkilendirmek.

Yani diğer bir deyişle bağlantıların position: absolute ve top, left,bottom, right değerleri için sayfa genelini değilde içinde bulundukları div‘i baz almalarını sağlıyoruz.
Sizde denemeler yapmak için, bu paylaşımda kullandığım örneği bu bağlantıyı kullanarak bilgisayarınıza indirebilirsiniz.
Özellikle denemenizi istediğim nokta div etiketinden position: relative değerini kaldırmanız.
Güncellendi (26 Eylül 2008)
Ayrıca bu konu ve z-index ile ilgili Salih S. Demir’in blogunda yaptığı paylaşımıda incelemenizi tavsiye ederim.
Umarım
Faydalı bir paylaşım olmuştur, sizlerde bu tekniğin kullanımlarına örnekler gösterebilirsiniz ya da düşüncelerinizi paylaşabilirsiniz, position konusuna genel olarak değinmektense bu şekilde birebir örnekler vererek değinmek istedim, daha faydalı olacağını düşündüm.
Web Deneyimleri’ni Takip Edin
Arkadaşlar önümüzdeki günlerde çok daha kaliteli paylaşımlar, etkinlikler ve organizasyonlar sizleri bekliyor, başlıkta da dediğim gibi Web Deneyimleri’ni takip etmeye devam edin.
Takip etmek içinde RSS, Twitter ya da FriendFeed yayınlarımı kullanabilirsiniz.
Bir sonraki paylaşımda görüşmek üzere, kendinize çok iyi bakın.
Başka bir paylaşımımı inceleyebilirsiniz
Düşüncelerinizi duymaya ihtiyacım var!
Zamanınızın çok küçük bir bölümünü ayırarak, bu form aracılığı ile yazı hakkındaki düşüncelerinizi paylaşabilirsiniz.
Yazıya Gelen Yorumlar
1
Halil Gökdal
25 Eylül 2008´de söylemiş
Bilmeyen arkadaşlar için çok iyi bir örnek.
Tebrikler @volkangorgulu. Paylaşımlara devam.
2
fatihturan
25 Eylül 2008´de söylemiş
Evet bence de bu relative/absolute tekniği bilmeyen arkadaşlar için yararlı bir yazı.
3
Volkan Görgülü
25 Eylül 2008´de söylemiş
Teşekkürler arkadaşlar
4
Simto Alev
25 Eylül 2008´de söylemiş
Ohoh.. Çok süper olmuş bu. Position olayını bir türlü anlamıyordum…
5
Pisho
25 Eylül 2008´de söylemiş
Çok az kodlama bilgimle herbirşeyini anladım.. Kendimce denemeye çalışacağım.. Bu tarz paylaşımlarınızın sürmesini bekliyoruz, elimiz RSS de
6
Cihan ÖNER
25 Eylül 2008´de söylemiş
Volkan hocam çok etkili paylaşımlarda bulunuyorsun bu da güzel olmuş teşekkür ederiz..
Ben açtığım tüm Div elementlerine position:relative veriyorum. Açıkcası relative tam olarak ne işe yarıyor bilmiyorum ama diğer position özelliklerine göre gözlemlediğim tek farkı Browser penceresi kücülünce yazılar ve sayfa elemanları iç içe geçmiyor ki bu özellik diğer position uygulamaların da aksi şekilde işliyor. Aslında position etiketlerini nerede nasıl kullanacağımıza dair ufak bir paylaşımda bulunsan güzel olur ve çok makbule geçer sayın hocam..
Saygılar
7
Karbonizma
25 Eylül 2008´de söylemiş
Bir kaç dakika sonra bu konu hakında size e-posta olarak soru soracaktım ama sorumun cevabı bu paylaşımda var
Teşekkür ederim.
8
ercani
25 Eylül 2008´de söylemiş
Ama position:absolute niteliği kutu modelindeki akış sırasından çıkmasını sağlıyor. Yani artık yanındaki kutulardan etkilenmiyor. O zamanda ekran çözünürlüğüne göre farklı yerde gösteriyor. Çözünürlük arttıkça kayıyor, yani benim bildiğim öyle. Ona bir çare var mı?
9
Salih S. DEMİR
25 Eylül 2008´de söylemiş
@ercani
absolute edilecek katmanın altındaki katman, yani absolute un sınırlarını belirleyecek katmana “position: relative” veririz.
10
Tufan Tunç
25 Eylül 2008´de söylemiş
div ile yapılan tasarımın kalbine giden yol, paylaştığın için teşekkürler.
11
Fatih
25 Eylül 2008´de söylemiş
Güzel bir makale olumuş. Çok kullanışlı bir teknik bence. Bir çok yerde kullanılabilir.
12
Ufuk KURT
25 Eylül 2008´de söylemiş
Hmm gerçekten güzeL bi anlatım olmuş
Teşekkürler Volkan
13
Web Öğrencisi
25 Eylül 2008´de söylemiş
Gerçekten yararlı bi bilgi oldu (: Teşekkürler. Ellerine sağlık.
14
Burak
25 Eylül 2008´de söylemiş
Teşekkürler.Çok güzel paylaşımlar bunlar
15
Volkan Görgülü
25 Eylül 2008´de söylemiş
@Cihan Öner, konuyu böyle örnekler ile anlatmayı tercih ettim, positionlar ile ilgili kullanımlar ürettikçe ya da gördükçe yine paylaşımda bulunacağım.
@Ercani, zaten paylaşımda bahsettiğin konunun olmasını engelleyen teknikten bahsediyorum.
Faydalı olduysa ne mutlu bana, teşekkürler arkadaşlar
16
Harun YAŞAR
25 Eylül 2008´de söylemiş
Herhalde okuduğum ve yararlandığım en açık ve öz kaynak bu oldu benim için positioning konusunda. Ellerine sağlık Volkan.
Diğer paylaşımlarında da başarılar diliyorum.
17
Barış Aydın
25 Eylül 2008´de söylemiş
çok teşekkürler volkan abi bir türlü yapamıyordum sayende püf noktasını öğrenmiş olduk
18
Salih S. DEMİR
25 Eylül 2008´de söylemiş
Bende z-index ile beraber yeniden değindim bu konuya Volkan Görgülü isterseniz blogumdaki resimleri kullanabilirsiniz, hazır çizilmiş
19
Volkan Görgülü
26 Eylül 2008´de söylemiş
@Harun, @Barış, çok mutlu oldum
@Salih, ben de paylaşımı mı güncelledim ve senin paylaşımına bağlantı verdim. Güzel paylaşım ellerine sağlık.
20
Başar Özcan
26 Eylül 2008´de söylemiş
benim gibi bilgi eksiği olan arkadaşlara ilaç gibi geldi. teşekkürler…
21
phys
30 Eylül 2008´de söylemiş
kafa karıştı
ben şöyle biliyordum. denedim.
divA ve divB iki katmanımız olsun. divB divA nın içerisinde olsun.
divA katmanına position değeri atamadığımızda divB ye absolute değeri vermek Body ye veya sayfaya göre konumlandırır. divB ye relative değeri verirsek div A ya göre konumlandırmış oluruz. divB ye relative değeri vererek divA ile ilişkilendirmiş ve boby den kurtarmış oluruz divA liquid bir tasarımın içerisindeki bir katman olduğunda divA sayfa içerisinde nerede konumlanırsa divB ona göre konumlanmış olur.
doğrumu anlamışım?
Saygılar…
22
SerKanka
30 Eylül 2008´de söylemiş
Çalışmalarını beğeniyorum. Gayretin süper. position u görüyordum ancak şimdi ne olduğunu anlamış oldum. Ayrıca resimlerin açıklamalarda kullandığın fonta bayıldım. Aynen devam başarın eksik olmasın.
23
Sedat Kumcu
15 Ekim 2008´de söylemiş
Hay Allah razı olsun dostum. Gerçekten çok net bir anlatım olmuş. Eline sağlık, teşekkürler.
24
ilkay
29 Kasım 2008´de söylemiş
Ben de biraz önce intenetten indirdiğim css temaları incelerken bu özelliği farkettim. İlk defa karşılaştım ve bi kaç uygulama yaptım.
Kapsayıcı div için relative kullanmadan olmuyor. Sanırım kapsayıcı div relative(göreceli) olduğu zaman içindeki div’ler kapsayıcıya referans alarak konumlanıyor. İçerde absolute(mutlak) kullanıldığı zaman ise dıştaki div’e göre istenilen konumun koordinatları tam olarak verilebiliyor.
Position seçenekleri baya karışık aslında biraz daha deneme yapmak lazım.
25
slmsiz
06 Mayıs 2009´de söylemiş
Öncelikle slm,
Çok yararlı bir makale olmuş. Ellerinize sağlık.
İyi çalışmalar.
26
Löpürdek!
31 Mayıs 2009´de söylemiş
Teşekkürler, işime yaradı
27
Alican
27 Temmuz 2009´de söylemiş
Teşekkürler,
28
herzevekil
30 Ağustos 2009´de söylemiş
Teşekkürler, ben de artık tablo kullanmadan wep sitesi geliştirmeye çalışıyordum. Ve position:absolute, position:relative leri bir türlü anlamıyordum, sağolun
29
herzevekil
30 Ağustos 2009´de söylemiş
Teşekkürler, işime yaradı.
30
amerikan kapı
28 Eylül 2009´de söylemiş
teşekkürler işime cok yaradı arkadaş saolasın gerçekten bilgilendiriyorsun bizi unutmadan siteni cok sevdim.
Geri İzlemeler