HTML · CIENCIAS DE LA COMPUTACIÓN · CEIBAL
Semántica
Sección 1 de 8

El significado detrás de las etiquetas

En el Módulo 1 aprendiste a poner contenido en la página. Acá vas a aprender a decir qué es cada parte de esa página.

🧠 ¿Qué es la semántica?

Imaginate una casa donde todas las puertas son iguales y ninguna tiene cartel. Para saber cuál es el baño, tenés que abrirlas una por una.

Ahora ponele un cartel a cada una: cocina, baño, dormitorio. Las puertas son físicamente idénticas — lo que cambió es que ahora comunican qué hay adentro.

Semántica quiere decir significado. Una etiqueta semántica no dice cómo se ve algo: dice qué es.
✖ Sin significado
<div>
  <h1>Mi página</h1>
</div>
✔ Con significado
<header>
  <h1>Mi página</h1>
</header>
🎯 ¿Lo entendiste? · Semántica o genérica

Arrastrá cada etiqueta a su columna. Las genéricas no están prohibidas: simplemente no comunican nada.

<header> <nav> <main> <footer> <div> <span>
🏷️ Semánticas
📦 Genéricas

👁️ Mirá esto: ¿qué observás?

Las dos páginas de al lado se ven idénticas cuando las abrís en el navegador. Mismo texto, mismo orden, mismo resultado en pantalla.

Y sin embargo solo una le cuenta al mundo qué es cada zona. La otra dice "acá hay algo" cuatro veces seguidas.

La diferencia entre las dos no se ve. Está en todo lo que ocurre detrás de la pantalla.
✖ Todo <div>
<div>
<div>
<div>
<div>
✔ Semántico
<header>
<nav>
<main>
⌨️ ¿Lo entendiste? · Rescatá la página

Esta página de un refugio de animales funciona, pero está armada con puros <div>. Seguí los comentarios ✏️ y reemplazá cada uno por su etiqueta semántica. Ejecutá: se ve igual, pero ahora significa.

👥 ¿Y a quién le importa?

A tres públicos muy concretos. Ninguno de los tres sos vos mirando la pantalla.

Las personas que usan lector de pantalla escuchan la página en voz alta. Cuando el programa encuentra un <nav> anuncia "navegación" y pueden saltearlo. Cuando encuentra un <div>, no dice nada: no hay nada que decir.

Google lee tu HTML para entender de qué trata la página. Si marcás una nota con <article>, entiende que es contenido con valor propio. Si la marcás con <div>, tiene que adivinar.

Y vos mismo dentro de seis meses, cuando abras tu código y no te acuerdes de nada. Un <footer> se entiende al instante; un <div id="abajo"> te obliga a investigar.

QuiénQué gana
🦻 Lector de pantallaNavegar y saltar zonas sin escuchar todo
🔍 BuscadoresEntender el contenido y posicionarlo
👩‍💻 Quien lea tu códigoEntenderlo de un vistazo
🏆 Lo importante: la semántica no cambia lo que se ve. Cambia quién puede usar lo que hiciste.
🧩 ¿Lo entendiste? · Ordená los tres públicos

Arrastrá las tarjetas para ordenarlas en el orden en que las presentamos.

📏 La regla de esta sección

Una sola. Es la que vas a aplicar cada vez que te sientes a escribir HTML, y la que resume todo lo anterior.

La regla: antes de escribir <div>, preguntate si existe una etiqueta que signifique lo que estás haciendo. Si existe, usá esa.

El <div> no está prohibido. Lo que está mal es usarlo cuando había una etiqueta mejor disponible.

✖ Había una etiqueta mejor
<div>
  <h1>Refugio Patitas</h1>
</div>
✔ Usé la que significa
<header>
  <h1>Refugio Patitas</h1>
</header>
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Recibís una explicación con cada respuesta. No podés cambiarla, así que pensala bien.

Paso 1 de 4

⚙️ Sintaxis en acción

HTML
<!-- Probá la diferencia vos:      -->
<!-- la página SE VE igual, pero   -->
<!-- una SIGNIFICA y la otra no    -->
<header>
  <h1>Mi página</h1>
</header>
<main>
  <p>Contenido principal.</p>
</main>
<footer>
  <p>© 2026</p>
</footer>
🖥️ Simulador · probá y ejecutá
🚀 Reto final de la sección — tocá para desplegar
🚀 Reto AVANZADO · Feria de ciencias, desde cero

Escribí desde cero (el editor está vacío a propósito) la página de una feria de ciencias: una zona que presente el evento, una con tres enlaces de navegación, una con el contenido principal, y una que cierre con el año. Todo con etiquetas semánticas, sin un solo <div>.

Las etiquetas que organizan la página

Siete etiquetas. Lo importante no es memorizarlas, sino saber cuándo te toca usar cada una.

🗺️ Primero mirá el mapa completo

Antes de ver una por una, mirá cómo se acomodan todas juntas. Este es el esqueleto que vas a repetir en casi cualquier página.

Fijate en la jerarquía: el <article> vive adentro de la <section>, y la <section> vive adentro del <main>. No es casualidad.

Cada etiqueta tiene su lugar. Los siguientes pasos te dan la pregunta exacta que te hacés para elegir cada una.
El esqueleto estándar
<header>   <!-- presenta -->
<nav>      <!-- menú -->

<main>                <!-- ⭐ uno solo -->
  <section>           <!-- capítulo -->
    <h2>Título</h2>
    <article>         <!-- pieza autónoma -->
      <h3>Una nota</h3>
    </article>
  </section>
</main>

<footer>   <!-- cierra -->
🧩 ¿Lo entendiste? · Armá la jerarquía

Ordená las etiquetas como aparecerían en una página real, de arriba hacia abajo.

🏷️ <header> y 🧭 <nav>

El <header> es lo que aparece arriba de todo y te dice dónde estás parado: el nombre del sitio, el logo, el título grande.

🤔 La pregunta: ¿este bloque presenta lo que viene abajo? Entonces es un header.

El <nav> es el conjunto de enlaces que te permiten moverte por el sitio.

🤔 La pregunta: ¿es un grupo de enlaces para navegar? Ojo: un link suelto en medio de un párrafo no es navegación.
⚠️ No confundas <header> con <head>. Se parecen en el nombre pero no tienen nada que ver: <head> es la parte invisible del documento; <header> es contenido visible.
✔ Así se usan
<header>
  <h1>Cocina Fácil</h1>
</header>

<nav>
  <a href="#recetas">Recetas</a>
  <a href="#contacto">Contacto</a>
</nav>
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

⭐ <main> · el contenido estrella

Es el motivo por el que la persona entró a esa página. Todo lo que se repite en todas las páginas del sitio (menú, pie) queda afuera.

🤔 La pregunta: ¿si borro esto, la página pierde su razón de ser? Entonces es el main.
🚨 Solo puede haber UNO por página. Es el error más común de todos. Y nunca va adentro de un <header> ni de un <footer>: es hermano de ellos, no hijo.
✖ Dos main · y adentro del header
<header>
  <main>...</main>   <!-- acá no va -->
</header>
<main>...</main>     <!-- ya había uno -->
✔ Uno solo, y hermano
<header>...</header>
<main>...</main>
<footer>...</footer>
⌨️ ¿Lo entendiste? · Cazá los errores

Este código tiene dos errores con el <main>, marcados con 🐛. Encontralos y corregilos.

📑 <section> · un capítulo

Una zona temática dentro del contenido. Como los capítulos de un libro: cada uno tiene su tema y su título.

🤔 La prueba: "¿le puedo poner un título?" Si a ese bloque le cae natural un <h2> arriba, es una section. Si no se te ocurre ninguno, probablemente sea un <div>.

Por eso una section casi siempre empieza con su encabezado. Si no tiene título, sospechá.

✔ Tiene título propio
<section>
  <h2>Recetas de invierno</h2>
  <p>Las mejores para el frío.</p>
</section>
✖ Sin título: era un div
<section>
  <p>Un texto suelto.</p>
</section>
✏️ ¿Lo entendiste? · Completá la estructura

Escribí el nombre de la etiqueta que falta (sin los signos < >).

<>
  <h1>Feria de Ciencias</h1>
</...>

<>          <!-- solo uno por página -->
  <>     <!-- ¿le puedo poner título? sí -->
    <h2>Proyectos</h2>
  </...>
</...>

📰 <article> · algo que se sostiene solo

Contenido que tendría sentido aunque lo sacaras de la página y lo publicaras aparte: una noticia, un post, una receta, un comentario.

🤔 La prueba del recorte: "si copio esto y lo pego en otro sitio, ¿se sigue entendiendo solo?" Si sí, es article. Si necesita el contexto de alrededor, es section.
Una section es una parte de un todo. Un article es un todo en sí mismo. Por eso lo normal es que los articles vivan adentro de una section.
✔ El article vive adentro
<section>
  <h2>Últimas reseñas</h2>

  <article>
    <h3>Metrópolis</h3>
    <p>Una obra maestra.</p>
  </article>

  <article>
    <h3>Whiplash</h3>
    <p>Intensa de principio a fin.</p>
  </article>

</section>
🎯 ¿Lo entendiste? · ¿Section o article?

Aplicá la prueba del recorte: si se entiende solo fuera de la página, es article. Si es una parte de un todo, es section.

Una noticia del diario Un comentario de un usuario Una receta completa El capítulo "Sobre nosotros" La zona "Últimas noticias" El bloque "Preguntas frecuentes"
📰 <article> · se sostiene solo
📑 <section> · parte de un todo

📋 <footer> y 📦 <div>

El <footer> es lo que va al final: copyright, contacto, links secundarios.

🤔 La pregunta: ¿este bloque cierra lo que estuvo arriba? Entonces es un footer.

El <div> es un contenedor genérico: no significa nada, solo agrupa. A veces necesitás juntar cosas por una razón puramente visual, y eso está bien.

🤔 La pregunta: ¿ya descarté todas las demás? Recién ahí, div. Es el último recurso, no el primero.
El div no está prohibido. Lo que está mal es usarlo cuando había una etiqueta mejor disponible.
EtiquetaLa pregunta que te hacés
<header>¿Presenta lo que viene abajo?
<nav>¿Es un grupo de enlaces para navegar?
<main>¿Si lo borro, la página pierde sentido?
<section>¿Le puedo poner un título?
<article>¿Se entiende solo si lo saco de acá?
<footer>¿Cierra lo que estuvo arriba?
<div>¿Ya descarté todas las anteriores?
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

Paso 1 de 6

⚙️ Sintaxis en acción

HTML
<!-- Todas juntas, con su jerarquía -->
<header>
  <h1>Cocina Fácil</h1>
</header>
<nav>
  <a href="#recetas">Recetas</a>
</nav>
<main>
  <section>
    <h2>De invierno</h2>
    <article>
      <h3>Ñoquis</h3>
    </article>
  </section>
</main>
<footer>
  <p>© 2026</p>
</footer>
🖥️ Simulador · probá y ejecutá
🚀 Reto final de la sección — tocá para desplegar
🚀 Reto AVANZADO · Blog de reseñas

Armá desde cero un blog de reseñas de películas. Debe tener: presentación del blog, menú, un <main> con una <section> titulada "Últimas reseñas", y adentro tres <article> (una reseña cada uno, con su <h3>). Cerrá con el pie.

ID

Vamos de a uno. En esta sección solo existe id. Nada más.

🏷️ ¿Qué es un atributo?

Un atributo agrega información extra a una etiqueta. La etiqueta sola dice qué es; el atributo agrega datos sobre eso.

Un atributo es un dato que le pegás a la etiqueta para darle más información.

El id es uno de ellos. Es el que sirve para señalar a UNO solo y decir "ese, ese mismo, no otro".

Sin atributos
<section>
Con un atributo
<section id="contacto">
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

✍️ ¿Cómo se escribe?

La forma es siempre la misma, sin excepciones: nombre = "valor", con el valor entre comillas.

Una sola regla acá: los atributos van únicamente en la etiqueta de apertura. Nunca en la de cierre.

Mirá la anotación de al lado: cada parte tiene su nombre. Cuando algo te falle, volvé a esa imagen.

<section id="contacto"> ▲ ▲ atributo valor
✖ En la etiqueta de cierre
</section id="contacto">
✔ En la de apertura
<section id="contacto">
  <h2>Contacto</h2>
</section>
✏️ ¿Lo entendiste? · Conectá el enlace con su destino

Completá para que el enlace llegue a la section correcta.

<a href="#">Escribinos</a>

<section ="">
  <h2>Contacto</h2>
</section>

🆔 Es como la cédula

En tu clase puede haber tres personas que se llamen Martín. Pero no hay dos con el mismo número de cédula. Ese número identifica a una sola persona, sin ambigüedad.

El id hace exactamente eso: le pone a un elemento un nombre único que no se repite en ningún otro lado de la página.

🚨 La regla que no se negocia: un mismo id no puede aparecer dos veces en la misma página. Nunca.
¿Cuándo lo uso? Cuando necesito señalar a UNO solo y estoy seguro de que no hay otro igual.
✖ id repetido
<div id="caja">Una</div>
<div id="caja">Otra</div>
✔ Cada uno su identidad
<div id="caja-izquierda">Una</div>
<div id="caja-derecha">Otra</div>
⌨️ ¿Lo entendiste? · Basta de ids repetidos

Este código tiene un id repetido dos veces. Encontralo y arreglalo dándole a cada uno su identidad propia.

🔗 ¿Para qué me sirve?

Ahora mismo, para algo que ya conocés del Módulo 1: los enlaces internos.

¿Te acordás del <a href="#algo"> que te llevaba a otra parte de la misma página? Ese #algo está buscando un id.

Si el id del destino estuviera repetido, el navegador no sabría a cuál saltar. Por eso la unicidad no es un capricho: es lo que hace que el mecanismo funcione.
El enlace busca…
<a href="#recetas">Ir a recetas</a>
…y el destino levanta la mano
<section id="recetas">
  <h2>Nuestras recetas</h2>
</section>
🧩 ¿Lo entendiste? · El viaje del enlace

Ordená los pasos que ocurren cuando alguien hace clic en <a href="#contacto">.

📝 Cómo se le pone el nombre

Hay convenciones. No son caprichos: minúsculas, sin espacios, y describiendo qué es el elemento.

💡 Truco para nombrar: preguntate "¿qué es esto?", no "¿cómo se ve esto?". El aspecto cambia; el contenido no.

Por eso id="caja-azul" es mal nombre: si mañana la pintás de verde, el nombre te miente.

✖ Así no✔ Así síPor qué
menu principalmenu-principalSin espacios
MenuPrincipalmenu-principalTodo en minúsculas
xmenu-principalTiene que describir
caja-azulgaleria-fotosEl contenido, no el color
🎯 ¿Lo entendiste? · Auditoría de nombres

Clasificá cada nombre según respete o no las convenciones.

id="menu-principal" id="galeria-fotos" id="pie-de-pagina" id="Menu Principal" id="caja-roja" id="d1"
✔ Bien nombrados
✖ Rompen alguna regla
Paso 1 de 5

⚙️ Sintaxis en acción

HTML
<!-- El enlace busca…            -->
<a href="#recetas">Ir a recetas</a>

<!-- …y el destino levanta la mano -->
<section id="recetas">
  <h2>Nuestras recetas</h2>
</section>
🖥️ Simulador · tocá el enlace y mirá el salto
🚀 Reto final de la sección — tocá para desplegar
🚀 Reto AVANZADO · Índice navegable

Construí desde cero una página sobre tu barrio con un <nav> que tenga cuatro enlaces internos, y cuatro <section> con sus respectivos id, de modo que los cuatro saltos funcionen.

Class

Mismo formato que id, pero resuelve el problema contrario.

👕 Es como el uniforme

El id servía para señalar a uno. Pero muchas veces no querés señalar a uno: querés decir "todos estos son del mismo tipo".

En un liceo, la cédula identifica a cada persona. Pero el uniforme dice a qué grupo pertenece. Y el uniforme se comparte: veinte personas pueden llevar el mismo, y eso es justamente el punto.

El id no se puede repetir. La class está hecha para repetirse.
✔ La misma class, repetida
<article class="tarjeta">Receta 1</article>
<article class="tarjeta">Receta 2</article>
<article class="tarjeta">Receta 3</article>
idclass
Es como…La cédulaEl uniforme
¿Se repite?No
Sirve paraSeñalar a UNOAgrupar a VARIOS
🎯 ¿Lo entendiste? · ¿Cuántos hay?

La pregunta clave es siempre la misma: ¿hay uno solo, o hay varios?

El pie de página del sitio El destino del enlace #contacto El menú de navegación Las 12 tarjetas de producto Todos los botones "Ver más" Los párrafos destacados
🆔 Hay UNO → id
👕 Hay VARIOS → class

📏 La señal de que necesitás una class

Hay un síntoma clarísimo, y lo vas a reconocer apenas te pase.

🚨 La señal: si te encontrás numerando ids (tarjeta1, tarjeta2, tarjeta3…), eso es una class gritando que la uses.

Numerar ids significa que estás forzando el id a hacer el trabajo de la class. Y encima corrés el riesgo de repetir uno sin darte cuenta.

¿Cuándo la uso? Cuando varios elementos comparten algo y los querés tratar como grupo.
✖ Numerando ids
<article id="tarjeta1">Mate</article>
<article id="tarjeta2">Bombilla</article>
<article id="tarjeta3">Termo</article>
✔ Una class compartida
<article class="tarjeta">Mate</article>
<article class="tarjeta">Bombilla</article>
<article class="tarjeta">Termo</article>
⌨️ ¿Lo entendiste? · Basta de ids numerados

Alguien numeró los ids porque no conocía las class. Peor todavía: repitió uno. Reemplazá los cuatro ids por una sola class compartida, y dejale el id únicamente a la tarjeta que necesita identidad propia (la del mes).

🎽 Un elemento puede llevar varias

Acá está la parte que sorprende: un mismo elemento puede pertenecer a más de un grupo al mismo tiempo.

Alguien puede llevar el uniforme del liceo y la camiseta del equipo de handball. Las dos cosas conviven.

La regla: se escriben todas dentro del mismo atributo, separadas por espacios. Ni comas, ni el atributo repetido.
✔ Separadas por espacios
<article class="tarjeta destacada">
  Receta especial
</article>
✖ Atributo repetido
<article class="tarjeta" class="destacada">
✖ Separadas con coma
<article class="tarjeta, destacada">
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

✏️ ¿Lo entendiste? · Corregí la sintaxis

Escribí cómo se declaran correctamente dos clases en un mismo elemento.

<!-- Quiero que este article sea "tarjeta" Y "destacada" -->

<article ="">
  <h3>Chivito al plato</h3>
</article>

<!-- Pista: van en el MISMO atributo,
     separadas por un ESPACIO -->

🎨 ¿Para qué me va a servir?

Para el módulo que viene: CSS. Vas a poder escribir una sola regla que diga "todo lo que sea tarjeta se ve así", y las tres tarjetas la obedecen sin que repitas nada.

Pensalo al revés: sin class, tendrías que darle estilo a cada tarjeta por separado.

Con tres tarjetas es molesto. Con treinta es inviable. Por eso existe la class.
Adelanto del Módulo 3
/* UNA regla… */
.tarjeta {
  border: 2px solid gold;
}

/* …y las TRES tarjetas obedecen */
🧩 ¿Lo entendiste? · El descubrimiento de la class

Ordená el razonamiento que lleva a un programador a darse cuenta de que necesita una class.

Paso 1 de 4

⚙️ Sintaxis en acción

HTML
<!-- La misma class, repetida. Perfecto. -->
<article class="tarjeta">Receta 1</article>
<article class="tarjeta">Receta 2</article>

<!-- Varias clases: separadas por ESPACIOS -->
<article class="tarjeta destacada">
  Receta especial
</article>
🖥️ Simulador · agregá una cuarta tarjeta
🚀 Reto final de la sección — tocá para desplegar
🚀 Reto AVANZADO · Galería de fotos

Armá desde cero una galería del paseo de fin de año: una <section> con cinco <article> que compartan la class foto-card. Una de ellas, la ganadora del concurso, debe llevar además una segunda class (ganadora) en el mismo atributo.

Todo junto

Ya sabés qué hace cada uno por separado. Es hora de ponerlos a trabajar en la misma página.

👁️ Mirá este código: ¿qué observás?

Antes de que te explique nada, leé el código de al lado con atención. No hace falta que entiendas todo.

Solo mirá los nombres que aparecen. Fijate cuáles se repiten y cuáles no.

¿Ya lo viste? Algunos nombres aparecen una sola vez. Otros aparecen dos veces.

Los que se repiten son class. Los que son únicos son id. Ahí está toda la diferencia, y la acabás de descubrir vos.

¿Qué nombres se repiten?
<header id="cabecera">

<nav id="menu">

<article class="tarjeta">

<article class="tarjeta">

<footer id="pie">
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

🔗 Un elemento puede tener los dos

La pregunta que aparece siempre en este punto: "¿un elemento puede tener id y class al mismo tiempo?" Sí. Y muchas veces es lo correcto.

Volvamos al liceo: una persona lleva el uniforme y tiene su cédula. Las dos cosas conviven, porque responden preguntas distintas.

La class dice de qué grupo sos. El id dice quién sos.
🤔 ¿Cuándo pongo los dos? Cuando el elemento pertenece a un grupo pero además necesita identidad propia: por ejemplo, porque un enlace tiene que saltar directo hacia él.

El orden no importa: class="x" id="y" e id="y" class="x" son equivalentes.

✔ Grupo + identidad
<article class="foto-card">
  <p>Foto del paseo</p>
</article>

<article class="foto-card"
         id="foto-ganadora">
  <p>Foto ⭐</p>
</article>
🧩 ¿Lo entendiste? · El árbol de decisión

Ordená las preguntas que te hacés, en orden, al decidir cómo marcar un elemento nuevo.

✏️ ¿Lo entendiste? · Completá la tarjeta ganadora

Esta foto pertenece al grupo y además es única. Completá los dos atributos.

<article ="foto-card"
         ="foto-ganadora">
  <p>Foto ⭐</p>
</article>

<!-- Pista: el grupo se comparte;
     la identidad es única. -->

💬 title · el mensaje emergente

Muestra un cartelito cuando pasás el mouse por encima. Sirve para una aclaración extra.

⚠️ El problema: en un celular no existe el "pasar el mouse por encima". El cartelito simplemente nunca aparece.
Nunca pongas información importante solo en un title. La mitad de tus usuarios no la va a ver jamás.
✔ Aclaración extra
<abbr title="HyperText Markup Language">
  HTML
</abbr>
✖ Dato importante escondido
<p title="Cierra el 30 de julio">
  Info
</p>
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

🎨 style · estilo en línea

Aplica estilo directamente sobre el elemento. Funciona, y sirve para pruebas rápidas.

⚠️ El problema: si lo usás en todos lados, terminás con el mismo estilo copiado cincuenta veces. Cambiar un color implica editar cincuenta líneas.
Ese problema exacto lo resuelve CSS, el módulo que viene. Por ahora, usá style solo para probar.
Para una prueba rápida, va
<p style="color: red;">Alerta</p>
✖ Repetido en toda la página
<p style="color: red;">Uno</p>
<p style="color: red;">Dos</p>
<p style="color: red;">Tres</p>
<!-- ¿y si ahora lo querés azul? -->
🎯 ¿Lo entendiste? · ¿Qué atributo corresponde?

Arrastrá el atributo correcto a cada hueco. Hay uno que sobra: descubrí cuál y por qué.

id class style title nombre

Destino único de un enlace #contacto

Las 12 tarjetas que comparten aspecto →

Un borde dorado puesto directo en el elemento →

Un cartelito al pasar el mouse →

🚫 Errores que cometen todos

Estos cinco son los que vas a cometer. No es una amenaza: es estadística. Todos los cometemos al principio.

Leelos, y cuando algo no te funcione, volvé acá antes de desesperarte.

Cuatro de estos cinco están escondidos en el reto de abajo. ¿Los encontrás?
✖ El errorPor qué está mal
Más de un <main>El contenido principal es uno solo
Repetir un idLos enlaces internos dejan de funcionar
<div> habiendo etiqueta semánticaPerdés accesibilidad sin ganar nada
Información solo en titleEn celulares desaparece
style en todos ladosEs CSS pidiendo que lo uses
⌨️ ¿Lo entendiste? · Auditoría completa

Este código acumula cuatro de los cinco errores de la tabla. Están marcados con 🐛. Corregilos todos.

Paso 1 de 5

⚙️ Sintaxis en acción

HTML
<!-- Semántica + atributos, juntos -->
<section id="galeria">
  <h2>Galería</h2>

  <article class="foto-card">
    <p>Foto del paseo</p>
  </article>

  <article class="foto-card"
           id="foto-ganadora"
           style="border: 2px solid gold;">
    <p title="¡Ganó el concurso!">Foto ⭐</p>
  </article>

</section>
🖥️ Simulador · pasá el mouse por la foto ⭐
🚀 Reto final de la sección — tocá para desplegar
🚀 Reto AVANZADO · Tu página completa

Armá desde cero la página de un club deportivo con todo lo del módulo: estructura semántica completa, id en las zonas únicas, un nav cuyos enlaces salten a esas zonas, y al menos tres <article> con class compartida, de los cuales uno lleve también un id.

Pensar antes de codear

Nadie construye una casa poniendo ladrillos a ver qué sale. Primero se hace el plano.

📐 ¿Qué es un mockup?

Cuando te sentás a hacer una página, la tentación es abrir el editor y empezar a tipear. Y funciona… hasta que a mitad de camino te das cuenta de que la estructura no cierra y tenés que rehacer todo.

El mockup es el plano: un dibujo de cajas que muestra qué zonas va a tener tu página y dónde va cada una. Se hace antes de escribir una sola línea de HTML.

Escribir código sin plano es como resolver un ejercicio sin haberlo leído.
El plano, antes del código
Zona de presentación
Zona de menú
Zona de contenido
🧩 ¿Lo entendiste? · El proceso de desarrollo

Ordená las etapas del proceso, desde que se te ocurre la idea hasta la página terminada.

🤔 Las tres preguntas antes de codear

Si respondés estas tres, ya tenés la página escrita en tu cabeza. Escribirla en el editor pasa a ser un trámite.

  1. ¿Qué zonas necesita mi página? ¿Tiene menú? ¿Tiene pie?
  2. ¿Qué etiqueta semántica le corresponde a cada zona?
  3. ¿Cuáles son únicas y cuáles se repiten?
La tercera pregunta es el puente exacto entre el plano y los atributos: única → id; se repite → class.
PreguntaTe da…
¿Qué zonas hay?El plano
¿Qué etiqueta va?La estructura semántica
¿Única o repetida?El id o la class
🧠 ¿Lo entendiste? · Múltiple opción

Elegí la opción correcta. Pensala bien: no podés cambiarla.

⭐ Constructor de mockup

Arrastrá cada etiqueta a la zona donde te parece que va. El constructor te dice si tu elección es semánticamente correcta, y al final te genera el código HTML de tu propio plano.

🏷️ <header>
🧭 <nav>
⭐ <main>
📑 <section>
📰 <article>
📋 <footer>
📦 <div>
Zona superior · Arrastrá aquí
Zona de menú · Arrastrá aquí
Zona central grande · Arrastrá aquí
Zona interna del contenido · Arrastrá aquí
Zona lateral de apoyo · Arrastrá aquí
Zona inferior · Arrastrá aquí
El <header> se presenta arriba, el <nav> te deja moverte, el <main> tiene lo importante, adentro va una <section> como capítulo, la zona lateral es un <div> (ninguna etiqueta semántica le calza) y el <footer> cierra.

        
      
Paso 1 de 3

Construí tu página

Llegó el momento de juntar todo: estructura semántica, id en lo único, class en lo que se repite.

🎯 Misión: mi primera página semántica

Armá una página sobre un tema que te guste (tu deporte, tu banda, tu barrio, lo que sea). Tiene que cumplir con esto:

  1. Un <header> con el título del sitio.
  2. Un <nav> con al menos dos enlaces internos.
  3. Un <main> (uno solo) con dos <section>, cada una con su id, para que los enlaces del nav lleguen.
  4. Adentro de una section, al menos tres <article> con la misma class.
  5. Un <footer> con tu nombre y el año.

El desafío: antes de escribir, dibujá el mockup en papel. Después codeá.

El editor arranca vacío a propósito: acá no hay andamiaje. Todo lo que necesitás ya lo practicaste en las secciones anteriores — la estructura del documento, las siete etiquetas y los dos atributos. Si te trabás, volvé al paso correspondiente con el índice 📑 o espiá el glosario.

📝 mi-pagina.html HTML
💡 Antes de entregar, revisá: ¿hay un solo <main>? ¿Ningún id repetido? ¿Los href="#…" coinciden con algún id real? ¿Las tarjetas comparten la misma class?

Glosario

Tocá cualquier tarjeta para darla vuelta. Buscá por palabra si necesitás algo puntual.

🚀 Lo que viene: ya sabés marcar qué es cada cosa (semántica) y a quién te querés referir (id y class). En el Módulo 3 vas a usar esos id y esas class desde CSS para decidir cómo se ve cada cosa. Todo lo que aprendiste acá es la base de eso.

La lección en video

Todo el módulo explicado en video. Sirve para preparar la clase antes de leer, o para repasar después de practicar.

Mirá el video con el módulo abierto al lado: pausá cuando aparezca un concepto y probalo en el simulador de esa sección.