{
"$schema": "../../schemas/code-crispies-module-schema.json",
"id": "html-details-summary",
"title": "HTML Details & Summary",
"description": "Crea secciones expandibles sin JavaScript",
"mode": "html",
"difficulty": "beginner",
"lessons": [
{
"id": "details-summary-basic",
"title": "Primer widget",
"description": "El elemento <details> crea una sección plegable. El <summary> proporciona la etiqueta clickeable. This content was hidden! HTML5 is the latest version of the HTML standard with new semantic elements and APIs. HTML5 is the latest version of the HTML standard with new semantic elements and APIs.
¡Haz clic en el resumen para mostrar el contenido oculto - sin JavaScript!",
"task": "Crea un elemento <details> con:
1. Un <summary> que diga Click to reveal
2. Un <p> con el texto This content was hidden!",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui; padding: 20px; } details { border: 1px solid #ddd; border-radius: 8px; padding: 15px; } summary { font-weight: 600; cursor: pointer; } summary:hover { color: #1976d2; } details p { margin-top: 15px; color: #666; }",
"sandboxCSS": "",
"initialCode": "",
"solution": "Click to reveal
\n
Este es un atributo booleano - solo añade open sin valor.",
"task": "Añade el atributo open al elemento <details> para mostrar el contenido por defecto.",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui; padding: 20px; } details { border: 1px solid #ddd; border-radius: 8px; padding: 15px; background: #f9f9f9; } summary { font-weight: 600; cursor: pointer; } details p { margin-top: 15px; color: #666; }",
"sandboxCSS": "",
"initialCode": "FAQ: What is HTML5?
\n FAQ: What is HTML5?
\n
Pro tip: Escribe details*3>summary+p y presiona Tab para expansión Emmet. *3 crea 3 elementos, > anida dentro, + añade hermanos.",
"task": "Crea una sección FAQ con:
1. Un <h1> que diga Frequently Asked Questions
2. Tres elementos <details>, cada uno con una pregunta en <summary> y una respuesta en <p>",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui; min-height: 100vh; background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%); display: flex; flex-direction: column; justify-content: center; padding: 40px; margin: 0; box-sizing: border-box; } h1 { font-size: 2.5rem; color: #4a4a4a; text-align: center; margin: 0 0 30px 0; } details { background: white; border-radius: 12px; margin-bottom: 15px; padding: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); } summary { font-size: 1.3rem; font-weight: 600; color: #5c5c5c; cursor: pointer; list-style: none; } summary::before { content: '▸ '; color: #fcb69f; } details[open] summary::before { content: '▾ '; } details p { margin: 15px 0 0 0; color: #666; line-height: 1.6; }",
"sandboxCSS": "",
"initialCode": "",
"solution": "
HTML5 is the latest version of HTML with new semantic elements and APIs.
\nMany interactive features work with pure HTML5, no JavaScript required!
\nYes! Native HTML elements have built-in keyboard and screen reader support.
\n