Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 7 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

HTML details ve summary etiketleri nasıl kullanılır?​


<details> ve <summary> etiketleri, JavaScript yazmadan açılıp kapanabilen içerik bölümleri oluşturur. <summary> görünen başlık ve tıklanabilir kontrol, <details> ise bu başlığın açacağı içerik alanıdır. Kullanıcı içeriği açtığında tarayıcı open niteliğini ekler; başlangıçta açık olmasını istiyorsanız bu niteliği kendiniz yazabilirsiniz.

En küçük çalışan örnek​


Aşağıdaki dosyayı details-ornek.html adıyla kaydedip tarayıcıda açın:

HTML:
<style>input, select, textarea, button, details { border-radius: 4px; }</style>
<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <title>details ve summary örneği</title>
</head>
<body>
  <details>
    <summary>Kurulum notunu göster</summary>
    <p>Kurulum tamamlandıktan sonra uygulamayı yeniden başlatın.</p>
  </details>
</body>
</html>

Beklenen sonuç, sayfada “Kurulum notunu göster” metninin görünmesidir. Metne tıkladığınızda paragraf açılır; tekrar tıkladığınızda kapanır. Hiçbir şey açılmıyorsa önce dosyanın gerçekten .html uzantısıyla kaydedildiğini ve içeriğin <details> ile </details> arasında bulunduğunu kontrol edin. <summary> eksikse tarayıcı varsayılan bir başlık gösterebilir; bu nedenle başlığı kendiniz tanımlamanız daha güvenlidir.

Yapı nasıl çalışır?​


summary öğesini details öğesinin ilk çocuk öğesi olarak yerleştirin. Kullanıcı bu alana tıklayarak içeriği açar veya kapatır. Açılış durumunu HTML ile belirlemek için open niteliğini kullanın:

HTML:
<details open>
  <summary>Sık kullanılan bilgiler</summary>
  <p>Bu bölüm sayfa açıldığında görünür.</p>
</details>

HTML bu durumu kalıcı bir uygulama tercihi olarak kaydetmez. Tarayıcının geçmiş/form durumu geri yüklemesi farklı davranabilir; kalıcılık iş gereksinimiyse bunu açıkça yönetin. Basit açıklama, SSS, yardım metni ve isteğe bağlı teknik ayrıntılar için JavaScript eklemeden <details> kullanmak genellikle yeterlidir.

İki etiketin görevini şu şekilde ayırabilirsiniz:

ÖğeGöreviTipik içerik
<details>Açılıp kapanan kapsayıcıAçıklama, adımlar, ayrıntılar
<summary>Kullanıcının tıkladığı başlıkKısa ve anlaşılır soru veya konu adı

Uygulamada doğru kullanım​


  1. Kullanıcının açmak isteyip istemediği içeriği <details> içine yerleştirin. Her zaman görünmesi gereken ana başlık, uyarı veya temel açıklamayı gizlemeyin.
  2. İlk içerik öğesi olarak anlamlı bir <summary> yazın. “Tıkla” yerine “Yedekleme adımlarını göster” gibi açılınca ne bulunacağını anlatan bir ifade kullanın.
  3. Başlangıçta görünmesi gereken bölüme open ekleyin; isteğe bağlı veya ikincil bilgileri kapalı bırakın.
  4. İçeriği açıp kapatmayı tarayıcıda klavye ile de deneyin. Özel CSS veya JavaScript eklediyseniz bu davranışı bozmamaya dikkat edin.

Birden fazla bağımsız bölüm için yapı şöyle olabilir:

HTML:
<details>
  <summary>Belgeler</summary>
  <p>Kurulum ve kullanım belgeleri.</p>
</details>

<details>
  <summary>Destek</summary>
  <p>Destek seçenekleri ve iletişim bilgileri.</p>
</details>

Sık yapılan hatalar​


  • Uzun başlık kullanmak: Summary alanı bir bölüm başlığı gibi kısa olmalıdır; ayrıntılı açıklamayı açılan içeriğe taşıyın.
  • Her şeyi gizlemek: Arama, temel yönerge veya kritik uyarı gibi kullanıcıların mutlaka görmesi gereken bilgileri kapalı bir alana koymayın.
  • Summary yerine yalnızca stil kullanmak: Görsel bir kutu oluşturmak, açılıp kapanan yerel davranışın yerini tutmaz. Davranış gerekiyorsa semantik etiketleri kullanın.
  • Özel JavaScript ile davranışı gereksizce değiştirmek: Basit açma-kapama için JavaScript eklemek, klavye ve tarayıcı davranışlarını bozma ihtimalini artırır.

Varsayılan ok işaretinin görünümü tarayıcıya ve CSS'e göre değişebilir. Tasarım gereği değiştirecekseniz başlığın hâlâ açıkça tıklanabilir ve klavye ile kullanılabilir kalmasını test edin. Ayrıca <summary> içine karmaşık etkileşimli kontroller yerleştirmek yerine, bu kontrolleri açılan içeriğin içine koymak daha anlaşılır bir yapı sağlar.

Sık sorulan sorular​


details içeriği sayfa kaynağında bulunur mu?​

Evet. İçerik HTML içinde yer alıyorsa başlangıçta kapalı olsa bile kaynakta bulunur; kapalı olması içeriği sunucudan gizlemez veya erişim kontrolü sağlamaz.

details bölümlerini aynı anda yalnızca bir tane açık olacak şekilde kullanabilir miyim?​

Bölümleri name niteliğiyle aynı gruba alarak bunu destekleyen tarayıcı davranışından yararlanabilirsiniz. Ancak bu davranışa güvenmeden önce hedef tarayıcılarınızda test edin; kesin kontrol gerekiyorsa ek JavaScript mantığı gerekir.

open="false" bölümü kapatır mı?​

Hayır. open bir boolean niteliktir; değeri false yazılsa bile niteliğin bulunması açık durum anlamına gelir. Başlangıçta kapatmak için open niteliğini tamamen kaldırın.
 

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