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 display özelliği, bir HTML elementinin sayfa düzeninde nasıl kutu oluşturacağını ve içindeki çocuk elementleri nasıl yerleştireceğini belirler. Başka bir deyişle elementin satır içinde mi, ayrı bir blok olarak mı, flex veya grid kapsayıcısı olarak mı davranacağını kontrol eder. Örneğin display: none elementi yerleşimden tamamen çıkarırken display: flex çocukları esnek kutu düzeniyle hizalar.

Dış ve iç yerleşim davranışı​


display iki davranışı etkiler: Elementin dışarıya karşı nasıl yerleşeceği ve kendi içindeki çocukları nasıl düzenleyeceği. Örneğin display: flex normal akışta blok düzeyinde bir flex kapsayıcısı oluşturur; inline-flex aynı iç düzeni satır içi bir dış kutuyla sunar. Doğrudan çocukların yerleşimi ile kapsayıcının sayfadaki yeri ayrı kararlardır.

Somut örnek​


Aşağıdaki tam örneği display.html olarak kaydedip açabilirsiniz. Haricî dosya veya JavaScript gerekmez:

Kod:
<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Display örneği</title>
  <style>
    .kartlar { display: flex; gap: 16px; flex-wrap: wrap; }
    .kart {
      box-sizing: border-box; flex: 1 1 220px;
      padding: 16px; border: 1px solid #666; border-radius: 4px;
      overflow-wrap: anywhere;
    }
  </style>
</head>
<body>
  <div class="kartlar">
    <div class="kart">Birinci kart</div>
    <div class="kart">İkinci kart</div>
    <div class="kart">Üçüncü kart</div>
  </div>
</body>
</html>

Kartlar yeterli alan varsa aynı satırda görünür. flex-wrap: wrap dar alanda alt satıra geçmelerini, gap aralarındaki boşluğu sağlar. Tarayıcı genişliğini daraltarak farklı satır sayılarını gözlemleyin; box-sizing dolgu ve kenarlığı boyut hesabına dahil eder.

Değerleri karşılaştırma​


DeğerDavranışYaygın kullanım
blockYeni satırdan başlar ve genellikle kullanılabilir genişliği kaplar.Bölüm, kutu veya ana içerik alanı
inlineMetin akışı içinde yer alır; genişlik ve yükseklik davranışı sınırlıdır.Metin içindeki bağlantı veya vurgu
inline-blockSatır içinde kalır, ancak blok gibi genişlik ve yükseklik alabilir.Yan yana duran küçük kutular
flexÇocukları tek boyutlu esnek düzenle yerleştirir.Yatay menü, buton grubu, hizalama
gridÇocukları satır ve sütunlardan oluşan iki boyutlu düzende yerleştirir.Kart listesi ve sayfa yerleşimi
noneElementi ve çocuklarını görünmez yapar, yerleşimde alan bırakmaz.Açılır menü veya koşullu içerik

Hangi değeri seçmelisiniz?​

  1. Elementin yeni satırdan başlamasını istiyorsanız display: block kullanın.
  2. Element metnin içinde kalacaksa display: inline kullanın. Genişlik veya yükseklik vermeniz gerekiyorsa inline-block daha uygundur.
  3. Çocukları yatay veya dikey eksende hizalayacaksanız display: flex seçin.
  4. Satır ve sütunları birlikte kontrol edeceğiniz bir düzen kuracaksanız display: grid kullanın.
  5. İçeriği geçici olarak kaldırmak istiyorsanız display: none uygulayın.
Bir elementi gizlemek ile yalnızca görünmez yapmak aynı şey değildir. display: none elementin yerleşimde alan kaplamamasını sağlar. visibility: hidden ise elementi görünmez yapar ancak normalde kaplayacağı alanı korur. İkisi de genel olarak öğeyi erişilebilirlik ağacından çıkarır; visibility: hidden ekran okuyucuya açık tutma yöntemi değildir. Ekranda gizli ama yardımcı teknolojilere açık metin için ayrı bir erişilebilir gizleme tekniği gerekir.

Sık yapılan hatalar​


display: flex verdiğiniz elementin kendisi flex olur; doğrudan çocukları flex öğelerine dönüşür. Torun elementleri otomatik olarak aynı flex düzenine katılmaz. Ayrıca inline elementlerde genişlik ve yükseklik beklendiği gibi çalışmayabilir. Bu durumda inline-block, block veya uygun bir flex/grid yapısı seçilmelidir.

display: none uygulandığı halde element görünüyorsa daha güçlü bir seçici, satır içi stil veya JavaScript tarafından sonradan verilen başka bir display değeri kuralınızı eziyor olabilir. Tarayıcı geliştirici araçlarında ilgili elementin "Computed" stillerini kontrol ederek hangi kuralın geçerli olduğunu bulun.

Sık sorulan sorular​


display özelliği elementin HTML anlamını değiştirir mi?​


Hayır. display görsel yerleşim davranışını değiştirir; elementin HTML anlamını otomatik olarak başka bir elemente dönüştürmez. Bu nedenle düzen için CSS, anlam için uygun HTML elementi kullanılmalıdır.

display değerleri geçiş animasyonunda neden hemen değişir?​


display sayısal bir ölçü gibi kesintisiz ara değerler üretmez; ayrık bir değişimdir. Destekleyen tarayıcılarda transition-behavior: allow-discrete ile opacity birlikte kullanılabilir. none durumundan ilk görünüş geçişinde @starting-style da gerekebilir; hedef tarayıcı desteğini kontrol edin.
 

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