Tiesto

WFN Üye
Konular
635
Mesajlar
635
Çözüm
0
Ticaret Puanı
0
Üyelik
24 Gün
Konum
Antalya
Web Sitesi
Var
Alanı
Domain Uzmanı
1/1
Konu sahibi
İlk olarak öğeye position: fixed verin; ardından ekranın üst kenarına top: 0 ve yatay konumuna göre left: 0, right: 0 ya da genişlik tanımlayın. Böylece öğe, sayfa kaydırılsa bile tarayıcı penceresinin üstünde kalır. Eğer öğenin yalnızca belirli bir kapsayıcı içinde kaydırılırken üstte kalmasını istiyorsanız position: sticky kullanmanız gerekir.

Ekranın üstünde sürekli duran öğe​


fixed konumlandırma, öğeyi normal belge akışından çıkarır ve tarayıcı penceresine göre sabitler. Aşağıdaki örnekte üst menü, sayfa aşağı kaydırılsa da ekranın üst kenarında görünür:

HTML:
<style>
  body {
    margin: 0;
    padding-top: 60px;
  }

  .ust-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    background-color: #222;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 1000;
  }
</style>

<header class="ust-menu">
  Üst menü
</header>

<main>
  <p>Sayfa içeriği burada yer alır.</p>
  <p>Yeterli içerik olduğunda sayfa kaydırılabilir.</p>
</main>

Burada top: 0 öğenin üst kenarını ekranın üst kenarına, left: 0 ve right: 0 ise öğeyi ekranın tamamına yayar. Menü yüksekliği 60px olduğu için body öğesine padding-top: 60px verilir. Bu boşluk bırakılmazsa sayfanın ilk içeriği sabit menünün altında kalabilir.

Sabit öğenin başka içeriklerin arkasında kalmaması için yeterli bir z-index değeri kullanın. Ancak z-index yalnızca öğelerin aynı yığılma bağlamında karşılaştırıldığı durumlarda etkili olur; beklediğiniz sonucu alamazsanız öğenin üst kapsayıcılarında transform, opacity veya benzeri yığılma bağlamı oluşturan özellikleri kontrol edin.

Sabit öğenin genişliğini ve yatay konumunu ayarlama​


Öğenin ekranın tamamını kaplamasını istemiyorsanız left, right ve width özelliklerini birlikte düzenleyebilirsiniz. Örneğin sağ üstte duran bir bildirim kutusu için:

CSS:
.bildirim {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 280px;
  z-index: 1000;
}

Bu kullanımda öğe, ekranın üstünden 20px ve sağından 20px içeride görünür. Küçük ekranlarda kutunun taşmaması için genişliği sınırlamak isterseniz width: min(280px, calc(100vw - 40px)); gibi bir değer kullanabilirsiniz. Böylece yatay kenar boşlukları korunur.

fixed ile sticky arasındaki fark​


Her iki özellik de kaydırma sırasında üstte görünen öğeler oluşturabilir; ancak öğenin neye göre konumlandığı ve ne zaman sabit kaldığı farklıdır.
ÖzellikKonum ölçütüKaydırma davranışıUygun kullanım
fixedTarayıcı penceresiÖğe, sayfa boyunca ekranın belirlenen noktasında kalırSürekli görünen üst menü, yardım düğmesi veya bildirim
stickyYakın kaydırılabilir kapsayıcıÖğe normal akışta ilerler, belirlenen sınıra ulaşınca geçici olarak sabitlenirBölüm başlığı, tablo başlığı veya kapsayıcı içi menü
sticky kullanmak için öğeye genellikle top: 0 da vermelisiniz:

CSS:
.bolum-basligi {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 10;
}

Bu öğe sayfanın başından itibaren ekrana yapışık durmaz. Önce normal belge akışında yer alır; kaydırma sırasında üst sınıra geldiğinde sabitlenir. Kapsayıcının yüksekliği, overflow ayarları veya kapsayıcının içeriği sticky davranışını etkileyebilir. Bu nedenle kapsayıcılardan birinde overflow: hidden ya da overflow: auto varsa öğenin hangi alan içinde kaydırıldığını kontrol edin.

Çalışıp çalışmadığını kontrol etme​


Örneği kaydedip sayfayı yeniledikten sonra aşağı kaydırın. fixed kullanılan öğe ekranın üstündeki aynı konumda kalıyor ve içerik onun altından geçiyorsa temel uygulama doğrudur. İlk içerik menünün altında görünüyorsa sabit öğenin yüksekliği kadar üst boşluk ekleyin. Öğenin görünmemesi veya başka bir öğenin arkasında kalması durumunda sırasıyla z-index değerini, öğenin gerçekten seçilip seçilmediğini ve üst kapsayıcılardaki yığılma bağlamı oluşturan CSS özelliklerini kontrol edin.

Kısacası, öğenin sayfa boyunca ekranın üstünde kalması için position: fixed; top: 0;, öğenin normal akıştan sonra üstte tutulması için position: sticky; top: 0; kullanılır. fixed ile çalışırken içerik üstünün kapanmaması için sabit öğenin yüksekliği kadar boşluk bırakmayı unutmayın.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic