Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
CSS overflow, bir elementin içeriği kendisine ayrılan genişlik veya yüksekliğe sığmadığında taşan kısmın nasıl davranacağını belirleyen özelliktir. İçerik kutunun dışına taşabilir, kırpılabilir veya kaydırma çubuğu ile erişilebilir hâle getirilebilir. Varsayılan değer visible olduğu için taşan içerik normalde gizlenmez.

Örneğin sabit yüksekliği olan bir kutuda metin miktarı arttığında içerik kutunun altından dışarı taşar. Genişliği sınırlı bir kutuda uzun bir URL veya boşluksuz kelime bulunduğunda ise yatay taşma oluşabilir.

Kod:
<style>
.kutu {
  box-sizing: border-box;
  width: 240px;
  max-width: 100%;
  height: 100px;
  border: 1px solid #999;
  border-radius: 4px;
  overflow: auto;
}
</style>
<div class="kutu" tabindex="0" role="region" aria-label="Kaydırılabilir örnek metin">
  <p>İlk paragraf: Kutunun yüksekliği sınırlıdır.</p>
  <p>İkinci paragraf: Bu metin içerik yüksekliğini artırır.</p>
  <p>Üçüncü paragraf: Kutuyu odaklayıp klavyeyle de kaydırmayı deneyin.</p>
</div>

Bu örnekte içerik kutuya sığarsa kaydırma çubuğu gerekmez. İçerik taşarsa tarayıcı, taşan bölüme ulaşmak için uygun kaydırma mekanizmasını gösterir.

overflow değerleri nasıl çalışır?​


overflow hem yatay hem dikey taşmayı birlikte kontrol eder. Yalnızca bir değer yazıldığında overflow-x ve overflow-y için aynı davranış uygulanır. Eksenleri ayrı yönetmek için iki değer veya ayrı özellikler kullanılabilir.
DeğerDavranışNe zaman kullanılmalı?
visibleTaşan içerik görünür kalır.İçeriğin kesilmesi istenmiyorsa
hiddenTaşan içerik kırpılır, kaydırma çubuğu gösterilmez.Dekoratif taşmalar veya kontrollü kırpma için
autoYalnızca gerektiğinde kaydırma imkânı sağlar.Değişken içerikli kutular için
scrollKaydırma alanı oluşturur; çubuklar ihtiyaç olmasa da gösterilebilir.Sabit kaydırma alanı beklenen durumlar için
clipİçeriği kırpar; element kaydırılabilir bir alan oluşturmaz.Taşan içeriğin tamamen görünmez olması ve kaydırılmaması gerektiğinde
Pratikte genel amaçlı kutular için ilk tercih çoğunlukla auto olur. Böylece kısa içerikte gereksiz kaydırma çubuğu görünmez, uzun içerikte ise içerik tamamen kaybolmaz. hidden kaydırma çubuğu sunmaz; ancak JavaScript veya içerideki bir öğeye odaklanma içeriği kaydırabilir. clip programlı kaydırmaya da izin vermez. Bu ayrımı bir gizlilik veya erişim yetkisi kontrolü sanmayın.

Yatay taşmayı düzeltme​


Bir sayfa mobil ekranda sağa doğru taşıyorsa sorunun kaynağı uzun metin, sabit genişlik, geniş bir tablo, resim veya flex öğesi olabilir. Tüm sayfaya doğrudan overflow-x: hidden vermek yerine önce taşan elementi bulmak daha doğrudur; aksi hâlde kullanıcıya görünmeyen içerik veya çalışmayan yatay etkileşim oluşturabilirsiniz.

Uzun kelime ve URL'ler için metnin bölünebilmesini sağlayabilirsiniz:

Kod:
.metin {
  overflow-wrap: anywhere;
}

Yatay kaydırılması gereken tablo veya kod bloğu için taşmayı ilgili kapsayıcıda sınırlandırın:

Kod:
.kaydirilabilir {
  max-width: 100%;
  overflow-x: auto;
}

Uygulama ve kontrol adımları​

  1. Taşmanın yatay mı dikey mi olduğunu tarayıcının geliştirici araçlarında kontrol edin.
  2. Taşan içeriği taşıyan gerçek elementi bulun; yalnızca body veya html üzerinde gizleme uygulamayın.
  3. İçeriğin tamamı kullanıcı tarafından görülmeli ise ilgili kapsayıcıya overflow: auto verin.
  4. İçerik dekoratif olarak dışarı taşabiliyor ancak kesilmesi sorun oluşturmuyorsa overflow: hidden kullanın.
  5. Uzun kelime, URL veya kod satırı taşmasını çözmek için overflow-wrap, tablo için yatay auto davranışını değerlendirin.
  6. Dar ekran genişliklerinde yeniden test edin ve klavye ile erişilemeyen gizli içerik oluşmadığını kontrol edin.
Beklenen sonuç, içeriğin tasarım amacına göre ya görünür kalması ya da kullanıcı tarafından erişilebilir biçimde kaydırılabilmesidir. İçerik kesiliyor ve kullanıcı onu hiçbir şekilde göremiyorsa hidden seçimi muhtemelen yanlıştır.

Sık yapılan hatalar​


Her sorunda overflow: hidden kullanmak: Bu yöntem taşmayı gizler ancak asıl genişlik veya boyut problemini çözmez. Özellikle metin, form alanı ve odaklanan bağlantılar görünmez olabilir.

Sadece yüksekliği sınırlamak: İçerik uzunsa height ile birlikte uygun bir overflow davranışı tanımlanmazsa metin komşu içeriğin üzerine taşabilir.

Yatay ve dikey eksenleri karıştırmak: Yalnızca yatay taşmayı çözmek istiyorsanız overflow-x kullanın. Dikey davranışı istemeden değiştirmemek için iki ekseni birlikte düşünün.

Sık sorulan sorular​


overflow ile text-overflow aynı şey midir?​


Hayır. overflow kutunun taşan içeriği nasıl yöneteceğini belirler. text-overflow ise genellikle tek satırlık metnin kırpıldığını göstermek, örneğin üç nokta kullanmak için overflow: hidden ve white-space: nowrap ile birlikte kullanılır.

Kaydırılabilir kutu klavyeyle kullanılamıyorsa ne yapılmalı?​


Gerekli tarayıcılarda kapsayıcıyı tabindex="0" ile odaklanabilir yapın; anlamlı bir ad verin. Örnekteki role="region" ve aria-label bunu destekler. Tab ile odaklanıp ok tuşlarıyla deneyin ve görünür odak çerçevesini kaldırmayın.

Bir resmi kutuya sığdırmak için hangi yöntem kullanılmalı?​


Resmin kutudan taşmaması için çoğu durumda max-width: 100%; height: auto; kullanılır. overflow resmi kırpabilir, fakat resmi orantılı biçimde küçültmez.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

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