
İçindekiler
CSS Position
Web tasarımında, öğelerin doğru konumlandırılması kullanıcı deneyimi ve estetik açıdan büyük önem taşır. CSS position
özelliği, HTML öğelerinin sayfa üzerindeki yerleşimini kontrol etmemize olanak tanır. Bu makalede, position
özelliğinin farklı değerlerini ve her birinin kullanımını detaylı bir şekilde inceleyeceğiz.
position
Özelliğine Genel Bakış
CSS position
özelliği, bir öğenin belge akışındaki konumunu belirler. Beş temel değeri vardır:
- static: Varsayılan değer. Öğeler normal belge akışına göre konumlandırılır.
- relative: Öğe, normal konumuna göre ayarlanır.
- absolute: Öğe, en yakın konumlandırılmış ata öğesine göre konumlandırılır.
- fixed: Öğe, tarayıcı penceresine göre sabitlenir ve kaydırma sırasında yer değiştirmez.
- sticky: Öğe, kaydırma konumuna bağlı olarak
relative
vefixed
arasında geçiş yapar.
Bu değerleri daha iyi anlamak için her birini ayrı ayrı ele alalım.
position: static
static
, tüm HTML öğelerinin varsayılan konumlandırma değeridir. Bu değere sahip öğeler, sayfanın normal akışına göre yerleştirilir ve top
, right
, bottom
, left
gibi konumlandırma özellikleri bu öğelerde etkisizdir.
div.static {
position: static;
border: 2px solid #000;
}
Yukarıdaki örnekte, div
öğesi varsayılan konumunda kalır ve belirtilen sınırlarla çevrelenir.
position: relative
relative
değeri, öğenin normal konumuna göre ayarlanmasını sağlar. Bu, öğenin mevcut yerinden top
, right
, bottom
veya left
değerleriyle kaydırılması anlamına gelir.
div.relative {
position: relative;
left: 20px;
top: 10px;
border: 2px solid #000;
}
Bu örnekte, div
öğesi normal konumundan 20 piksel sağa ve 10 piksel aşağıya kaydırılır. Öğenin orijinal konumu, belge akışında yer tutmaya devam eder.
position: absolute
absolute
değeri, öğenin en yakın konumlandırılmış (yani relative
, absolute
, fixed
veya sticky
değeri atanmış) ata öğesine göre konumlandırılmasını sağlar. Eğer böyle bir ata öğe yoksa, öğe belgeye (genellikle body
öğesine) göre konumlandırılır.
div.container {
position: relative;
width: 400px;
height: 200px;
border: 2px solid #000;
}
div.absolute {
position: absolute;
top: 50px;
left: 100px;
width: 200px;
height: 100px;
border: 2px solid #f00;
}
Burada, .absolute
sınıfına sahip div
öğesi, .container
sınıfına sahip div
içinde, üstten 50 piksel ve soldan 100 piksel uzaklıkta konumlandırılır.
position: fixed
fixed
değeri, öğenin tarayıcı penceresine göre sabitlenmesini sağlar. Sayfa kaydırıldığında bile öğe yerinde kalır.
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width: 100px;
height: 50px;
background-color: #000;
color: #fff;
text-align: center;
line-height: 50px;
}
Bu örnekte, div
öğesi tarayıcı penceresinin sağ alt köşesine sabitlenmiştir ve sayfa kaydırıldığında bile bu konumunu korur.
position: sticky
sticky
değeri, öğenin kaydırma konumuna bağlı olarak relative
ve fixed
arasında geçiş yapmasını sağlar. Belirtilen bir eşik değere (örneğin, top: 0;
) ulaşıldığında, öğe sabitlenir ve sayfa kaydırıldıkça bu konumunu korur.
div.sticky {
position: sticky;
top: 0;
background-color: #ff0;
padding: 10px;
border: 2px solid #000;
}
Bu örnekte, div
öğesi sayfanın en üstüne yapışır ve kullanıcı sayfayı kaydırdıkça bu konumda kalır.
Z-Index ve Katmanlama
Konumlandırılmış öğeler, diğer öğelerle çakışabilir. Bu durumda, hangi öğenin üstte görüneceğini belirlemek için z-index
özelliği kullanılır. Daha yüksek bir z-index
değeri, öğenin diğerlerinin üzerinde görünmesini sağlar.
div.box1 {
position: absolute;
left: 50px;
top: 50px;
width: 100px;
height: 100px;
background-color: #00f;
z-index: 1;
}
div.box2 {
position: absolute;
left: 80px;
top: 80px;
width: 100px;
height: 100px;
background-color: #0f0;
z-index: 2;
}
Bu örnekte, box2
öğesi box1
öğesinin üzerinde görünecektir çünkü z-index
değeri daha yüksektir.
Genel Örnek
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Position Örneği</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
height: 2000px; /* Kaydırma efektlerini gözlemlemek için uzunluk eklendi */
}
.container {
position: relative;
width: 600px;
height: 400px;
border: 2px solid black;
margin: 20px auto;
padding: 10px;
overflow: auto; /* Sticky öğenin çalışması için gerekli */
}
.static {
position: static;
background-color: lightgray;
padding: 10px;
border: 1px solid black;
}
.relative {
position: relative;
left: 20px;
top: 10px;
background-color: lightblue;
padding: 10px;
border: 1px solid black;
}
.absolute {
position: absolute;
top: 50px;
right: 20px;
background-color: lightcoral;
padding: 10px;
border: 1px solid black;
}
.fixed {
position: fixed;
bottom: 10px;
right: 10px;
background-color: lightgreen;
padding: 10px;
border: 1px solid black;
z-index: 1000;
}
.sticky {
position: sticky;
top: 10px;
background-color: yellow;
padding: 10px;
border: 1px solid black;
z-index: 10; /* Üstte kalmasını sağlamak için */
}
/* Daha iyi görsellik için ekstra stiller */
.box {
width: 150px;
height: 50px;
line-height: 50px;
text-align: center;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<div class="static box">Static Element</div>
<div class="relative box">Relative Element</div>
<div class="absolute box">Absolute Element</div>
<div class="sticky box">Sticky Element</div>
</div>
<div class="fixed box">Fixed Element</div>
<p style="height: 1500px;">Sayfayı kaydırarak sticky ve fixed öğelerin davranışını gözlemleyin.</p>
</body>
</html>

Sonuç
CSS position
özelliği, web tasarımında öğeleri doğru şekilde yerleştirmek için önemli bir araçtır. static
, relative
, absolute
, fixed
ve sticky
değerleri ile öğelerin konumunu kontrol edebilir ve z-index
ile katman düzenlemeleri yapabilirsiniz. Bu bilgileri kullanarak web sayfalarınızı daha düzenli ve kullanıcı dostu hale getirebilirsiniz. CSS position hakkında daha fazlası için w3schols bakabilirsin. Ayrıca “HTML” kategorisine de bakmayı unutma.
-
CSS
position
özelliği ne işe yarar?position
özelliği, bir HTML öğesinin sayfa içinde nasıl konumlandırılacağını belirler.static
,relative
,absolute
,fixed
vesticky
gibi farklı değerler kullanılarak öğeler belirli noktalara yerleştirilebilir. -
position: static
ne anlama gelir?Bu, tüm öğelerin varsayılan konumlandırma değeridir. Öğeler sayfa akışına göre yerleştirilir ve
top
,left
,right
,bottom
gibi konumlandırma özellikleri bu öğede çalışmaz. -
position: relative
ileposition: absolute
arasındaki fark nedir?relative
: Öğe, normal konumuna göre kaydırılır ve boşluğu korunur.absolute
: Öğe, en yakın konumlandırılmış (relative, absolute, fixed veya sticky verilmiş) üst öğeye göre yerleştirilir ve normal akıştan çıkar. -
position: fixed
ne zaman kullanılır?Bu değer, öğenin tarayıcı penceresine sabitlenmesini sağlar. Sayfa kaydırılsa bile öğe sabit kalır. Örneğin, sabit bir menü veya chat butonu için kullanılabilir.
-
position: sticky
neden çalışmıyor?sticky
özelliği çalışmıyorsa şu nedenlerden biri olabilir: Üst öğesindeoverflow: hidden;
olabilir. Belirtilentop
değeri uygun değil veya öğenin bulunduğu kapsayıcı yeterince uzun değil.z-index
değeri düşükse, diğer öğelerin arkasında kalıyor olabilir. -
absolute
kullanırken neden öğe beklediğim yerde çıkmıyor?Çünkü
absolute
öğesi, en yakınrelative
,absolute
,fixed
veyasticky
verilen üst öğeye göre konumlanır. Eğer böyle bir öğe yoksa,body
öğesine göre yerleştirilir. -
CSS’te
z-index
ne işe yarar?z-index
, öğelerin üst üste binme sırasını belirler. Daha yüksekz-index
değeri olan öğeler, daha düşük değerlere sahip öğelerin üstünde görüntülenir. -
Hangi
position
değeri en yaygın kullanılır?relative
veabsolute
en yaygın kullanılan konumlandırma değerleridir.relative
, mevcut konumdan küçük kaydırmalar yapmak için kullanılır.absolute
, öğeleri tam belirli bir noktaya yerleştirmek için idealdir. -
position: absolute
kullanırken neden öğe kayboluyor?Muhtemelen öğenin üst öğesi
display: none;
veyaoverflow: hidden;
içeren bir kapsayıcı içindedir. Ayrıca,top
,left
,right
,bottom
değerleri sayfanın dışına çıkmasına neden olabilir. -
CSS Grid ve Flexbox varken hâlâ
position
kullanmalı mıyım?Evet!
position
, özelliklefixed
veabsolute
gibi değerlerle, navigasyon menüleri, modal pencereler, tooltipler gibi bileşenlerin konumlandırılmasında hâlâ çok önemlidir. Ancak, karmaşık düzenleri oluştururken Grid ve Flexbox daha iyi bir seçenektir.
Henüz yorum yapılmamış. İlk yorumu siz yapabilirsiniz!