HTML Academy · Ders

details ve summary: Açılır İçerik Bileşeni

JavaScript kullanmadan yerel genişletme ve daraltma bileşenleri oluşturun

3. ders / 413 adım

details ve summary: Açılır İçerik Bileşeni, CoddyKit'te ücretsiz bir HTML Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, HTML Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. HTML Academy kursu toplamda 4 dersten oluşur.

details ve summary Öğeleri Nedir?

<details> ve <summary> öğeleri, JavaScript olmadan yerel bir açılır/kapanır bileşen oluşturur:

<details>
  <summary>What is HTML?</summary>
  <p>HTML (HyperText Markup Language) is the standard markup language
     used to create web pages.</p>
</details>

Nasıl Çalışır

Etkileşim davranışı:

  • Varsayılan olarak yalnızca <summary> görünür
  • summary öğesine tıklamak, kalan içeriğin görünürlüğünü değiştirir
  • Varsayılan olarak summary üzerinde bir açılır üçgen görünür
  • JavaScript gerekmez

open Özniteliği

open özniteliği, details öğesini başlangıçta genişletilmiş durumda gösterir:

<details open>
  <summary>Installation instructions</summary>
  <ol>
    <li>Download the installer</li>
    <li>Run the installer</li>
    <li>Restart your computer</li>
  </ol>
</details>
<!-- open is a boolean attribute: presence = expanded -->
<!-- Remove it to start collapsed -->

SSS Oluşturma

FAQ bölümleri bunun için mükemmel bir kullanım alanıdır:

<h2>Frequently Asked Questions</h2>

<details>
  <summary>Is HTML5 a programming language?</summary>
  <p>No. HTML5 is a markup language that defines the structure and meaning
     of web content. Programming languages like JavaScript add logic and behavior.</p>
</details>

<details>
  <summary>Do I need to close void elements?</summary>
  <p>In HTML5, void elements like &lt;img&gt; and &lt;br&gt; do not require
     a closing slash. Both &lt;br&gt; and &lt;br /&gt; are valid.</p>
</details>

details ve summary Öğelerini Biçimlendirme

Görünümü özelleştiriniz:

details {
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
}

summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;   /* remove default triangle */
}

summary::before {
  content: '▶ ';      /* custom arrow */
}

details[open] > summary::before {
  content: '▼ ';      /* rotate when open */
}

Varsayılan Üçgeni Kaldırma

Açılır üçgen, list-style ile uygulanır:

/* Remove the default arrow: */
summary {
  list-style: none;
}

/* Firefox: */
summary::-webkit-details-marker {
  display: none;
}

/* Then add a custom indicator: */
summary::after {
  content: '+';
  float: right;
}
details[open] summary::after {
  content: '−';
}

Açma/Kapatma Olayı

Açılma veya kapanma durumunu toggle olayıyla dinleyiniz:

const details = document.querySelector('details');

details.addEventListener('toggle', () => {
  if (details.open) {
    console.log('Details opened');
    // Track analytics, load content, etc.
  } else {
    console.log('Details closed');
  }
});

details ile Akordeon

Aynı anda yalnızca bir panelin açık olduğu temel bir akordeon oluşturunuz:

/* Pure CSS accordion using details: */
/* Each item is a details element */
/* For exclusive open, use JavaScript: */

const allDetails = document.querySelectorAll('details');
allDetails.forEach(d => {
  d.addEventListener('toggle', () => {
    if (d.open) {
      allDetails.forEach(other => {
        if (other !== d) other.removeAttribute('open');
      });
    }
  });
});

details/summary Erişilebilirliği

Yerleşik erişilebilirlik özellikleri:

  • summary öğesi klavye odağını alır ve Enter veya Space ile etkinleştirilebilir
  • Ekran okuyucular summary metnini ve genişletilme durumunu duyurur
  • Gizli içerik DOM içinde bulunur ancak genişletilene kadar gizli olarak duyurulur

Özel Akordeon İçin name Özniteliği

HTML 2025, yerel özel akordeon desteği için details öğesine name özniteliğini ekler:

<details name="faq">
  <summary>Question 1</summary>
  <p>Answer 1...</p>
</details>

<details name="faq">
  <summary>Question 2</summary>
  <p>Answer 2...</p>
</details>
<!-- details with the same name act as a group -->
<!-- Opening one closes the others automatically -->
<!-- Supported in Chrome 120+ and Firefox 130+ -->

toggle ile İçeriği Ertelenmiş Yükleme

İçeriği yalnızca details açıldığında yükleyiniz:

<details id="advanced">
  <summary>Load advanced settings...</summary>
  <div id="advanced-content">Loading...</div>
</details>

<script>
const d = document.getElementById('advanced');
d.addEventListener('toggle', async () => {
  if (d.open) {
    const res = await fetch('/api/settings');
    const html = await res.text();
    document.getElementById('advanced-content').innerHTML = html;
    d.removeEventListener('toggle', arguments.callee);
  }
}, { once: true });
</script>

Hızlı Kontrol

details açılır/kapanır bileşeninde her zaman görünür tetikleyici metnini hangi öğe sağlar?

Özet: ayrıntılar ve özet

Açılır-kapanır bileşenlerin temel özellikleri:

  • <details> + <summary> — yerel genişletme/daraltma, JavaScript gerekmez
  • open özniteliği — başlangıçta genişletme
  • açma-kapama olayı — açılma/kapanma durumuna tepki verme
  • CSS ile biçimlendirin; list-style: none ile varsayılan üçgeni kaldırın
  • name özniteliği — birbirini dışlayan akordeon (Chrome 120+)
Başlamak ücretsiz

Yapay zeka eğitmeniyle HTML öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
40
Dersler
159

Sıkça Sorulan Sorular

“details ve summary: Açılır İçerik Bileşeni” dersi ücretsiz mi?

Evet — “details ve summary: Açılır İçerik Bileşeni” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve HTML Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. HTML Academy kursu toplamda 4 dersten oluşur.

“details ve summary: Açılır İçerik Bileşeni” dersinde ne öğreneceğim?

JavaScript kullanmadan yerel genişletme ve daraltma bileşenleri oluşturun HTML Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

HTML Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te HTML Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“details ve summary: Açılır İçerik Bileşeni” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu HTML Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her HTML Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. aside: Tamamlayıcı İçerik
  2. figure ve figcaption'a Yeniden Bakış
  3. details ve summary: Açılır İçerik Bileşeni
  4. progress ve meter Öğeleri
← HTML Academy Sayfasına Dön