details dan summary untuk Widget Pengungkapan
Buat komponen buka/tutup bawaan tanpa JavaScript.
details dan summary untuk Widget Pengungkapan adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.
Apa Itu details dan Ringkasan
Elemen <details> dan <summary> membuat komponen pengungkapan bawaan—komponen buka-tutup—tanpa JavaScript apa pun:
<details>
<summary>What is HTML?</summary>
<p>HTML (HyperText Markup Language) is the standard markup language
used to create web pages.</p>
</details>Cara Kerjanya
Perilaku interaksi:
- Secara bawaan, hanya
<summary>yang terlihat - Mengeklik ringkasan akan mengubah visibilitas konten lainnya
- Segitiga pengungkapan muncul pada ringkasan secara bawaan
- JavaScript tidak diperlukan
Atribut Buka
Atribut buka akan memperluas elemen details terlebih dahulu:
<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 -->Membuat FAQ
Bagian FAQ merupakan kasus penggunaan yang sangat sesuai:
<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 <img> and <br> do not require
a closing slash. Both <br> and <br /> are valid.</p>
</details>Menata details dan Ringkasan
Sesuaikan tampilannya:
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 */
}Menghapus Segitiga Bawaan
Segitiga pengungkapan diterapkan dengan list-style:
/* 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: '−';
}Peristiwa Buka-Tutup
Dengarkan pembukaan/penutupan dengan peristiwa toggle:
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');
}
});Akordeon dengan details
Buat akordeon dasar—hanya satu panel yang terbuka pada satu waktu:
/* 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');
});
}
});
});Aksesibilitas details/ringkasan
Fitur aksesibilitas bawaan:
- Ringkasan menerima fokus papan ketik dan dapat diaktifkan dengan Enter atau Spasi
- Pembaca layar membacakan teks ringkasan dan status perluasannya
- Konten tersembunyi berada di DOM, tetapi diumumkan sebagai tersembunyi hingga diperluas
Atribut Nama untuk Akordeon Eksklusif
HTML 2025 menambahkan name ke details untuk membuat akordeon eksklusif bawaan:
<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+ -->Pemuatan Konten Lambat dengan Buka-Tutup
Muat konten hanya saat details dibuka:
<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>Pemeriksaan Singkat
Elemen apa yang menyediakan teks pemicu yang selalu terlihat dalam komponen pengungkapan details?
Rekap: detail dan ringkasan
Hal-hal penting tentang widget pengungkapan:
<details>+<summary>— perluasan/penciutan bawaan, tanpa JavaScript- Atribut
open— diperluas sejak awal - Peristiwa perubahan — bereaksi saat dibuka/ditutup
- Beri gaya dengan CSS; hapus segitiga bawaan dengan list-style: none
- Atribut
name— akordeon eksklusif (Chrome 120+)
Belajar HTML dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 40
- Pelajaran
- 159
Pertanyaan yang Sering Diajukan
Apakah pelajaran “details dan summary untuk Widget Pengungkapan” gratis?
Ya — teks lengkap “details dan summary untuk Widget Pengungkapan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “details dan summary untuk Widget Pengungkapan”?
Buat komponen buka/tutup bawaan tanpa JavaScript. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai HTML Academy?
Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “details dan summary untuk Widget Pengungkapan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- aside untuk Konten Pelengkap
- figure dan figcaption Ditinjau Kembali
- details dan summary untuk Widget Pengungkapan
- Elemen progress dan meter