¡Hola, Mia!

HTML de cero
a sitio real ~

Tu mini-curso completo. Vas a aprender desde lo más básico hasta armar tu propia página personal. Hay teoría, práctica, ejercicios con soluciones y un proyecto final. Todo a tu ritmo. 🌱

Capítulo 01

¿Qué es HTML?

HTML es el esqueleto de las páginas web. Cada vez que abrís Instagram, YouTube o cualquier sitio, hay HTML detrás organizando todo: los textos, las imágenes, los botones.

HTML significa HyperText Markup Language (Lenguaje de Marcado de Hipertexto). Pero olvidate del nombre — pensá en HTML como las etiquetas que le ponés a las cosas para decirle al navegador qué es cada cosa.

🏠

HTML = paredes

Define qué hay en la página y dónde va cada cosa.

🎨

CSS = pintura

Le da color, forma y estilo (eso lo aprendés después).

¿Cómo funciona?

Vos escribís un archivo de texto que termina en .html. Ese archivo lo abre un navegador (Chrome, Firefox, Safari) y lo "traduce" en lo que vos ves en pantalla.

💡 Lo importante: HTML no es programación en el sentido estricto. Es un lenguaje de marcado: vos le ponés etiquetas al contenido y listo. Por eso es perfecto para empezar.
Capítulo 02

Etiquetas y atributos

Las etiquetas (tags)

Una etiqueta es una palabra entre < >. La mayoría vienen en pareja: una de apertura y una de cierre.

<p>Hola, soy un párrafo</p>

↑ apertura       ↑ cierre (con barra /)

Lo de adentro es el contenido. Lo de afuera (las etiquetas) le dice al navegador qué tipo de cosa es.

🔑 Regla de oro: Lo que abrís, tenés que cerrar. Si abrís <p>, después tenés que cerrar con </p>.

Los atributos

Los atributos son información extra que le ponés a una etiqueta. Van adentro de la etiqueta de apertura.

<a href="https://google.com">Ir a Google</a>

       ↑ atributo    ↑ valor del atributo

En este ejemplo:

⚠️ Ojo: Los valores de los atributos siempre van entre comillas " ".
✏️ Ejercicio 01

Identificá las partes

Mirá esta etiqueta: <img src="foto.jpg">

¿Cuál es la etiqueta? ¿Cuál es el atributo? ¿Cuál es el valor?

SOLUCIÓN

Etiqueta: img

Atributo: src (significa "source", de dónde viene la imagen)

Valor: "foto.jpg"

Capítulo 03

La estructura de una página

Toda página HTML tiene una estructura básica obligatoria. Es la "plantilla" que se repite siempre. Mirá:

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8">
    <title>Mi página</title>
  </head>
  <body>
    <h1>Hola mundo</h1>
    <p>Mi primera página 🌟</p>
  </body>
</html>

Te explico cada parte:

<!DOCTYPE html>

Le avisa al navegador "esto es HTML5" (la versión actual). Va siempre en la primera línea.

<html>

Es el contenedor de TODO. Adentro va head + body. lang="es" indica el idioma.

<head>

Info "invisible" que el usuario no ve: el título de la pestaña, codificación, links a CSS, etc.

<meta charset>

Permite que aparezcan bien los acentos y la ñ. Siempre ponelo.

<title>

El nombre de la pestaña del navegador. Lo que aparece arriba, en la solapa.

<body>

Acá va TODO lo que se ve en la página. Tu lienzo principal.

👀 Para recordar: head es lo que el navegador necesita saber. body es lo que el usuario ve.
✏️ Ejercicio 02

¿Dónde va cada cosa?

Decidí si cada elemento va en <head> o en <body>:

  1. Un título <h1> que dice "Bienvenidos"
  2. El <title> "Mi blog"
  3. Una imagen de un gatito
  4. El <meta charset="UTF-8">
SOLUCIÓN

1. body (es contenido visible)

2. head (es info de la pestaña)

3. body (es contenido visible)

4. head (es info técnica del documento)

Capítulo 04

Textos: títulos y párrafos

Títulos: del h1 al h6

HTML tiene 6 niveles de títulos. <h1> es el más grande e importante. <h6> es el más chiquito.

<h1>Título principal de la página</h1>
<h2>Subtítulo de sección</h2>
<h3>Subtítulo más chico</h3>
<h4>Y así hasta...</h4>
<h5>...el h5...</h5>
<h6>...y h6 (el más chico)</h6>
⚠️ Regla importante: Solo debe haber UN <h1> por página. Es como el título del libro: hay uno solo.

Párrafos y texto

Para texto normal usás <p>. Y dentro de un párrafo, hay etiquetas para destacar palabras:

<p>Esto es un párrafo normal.</p>

<p>Acá una palabra en <strong>negrita</strong> y otra en 
   <em>cursiva</em>.</p>

<p>Y si quiero un salto de línea<br>
   en el medio del párrafo, uso br.</p>
<strong>

Texto importante (se ve en negrita).

<em>

Texto enfatizado (se ve en cursiva).

<br>

Salto de línea. No se cierra.

<hr>

Una línea horizontal divisoria.

✏️ Ejercicio 03

Escribí un texto sobre vos

Armá en HTML un bloque que tenga: un h1 con tu nombre, un h2 que diga "Sobre mí", y un párrafo donde la palabra más importante esté en negrita y otra en cursiva.

SOLUCIÓN POSIBLE
<h1>Mia Benjardino</h1>
<h2>Sobre mí</h2>
<p>Estoy aprendiendo <strong>programación</strong>
en Digital House y me gusta <em>mucho</em>.</p>
Capítulo 05

Links e imágenes

Links (etiqueta <a>)

La etiqueta <a> crea un link (también llamado "hipervínculo" o "anchor"). El atributo más importante es href, que dice a dónde lleva el link.

// Link a una página externa
<a href="https://google.com">Ir a Google</a>

// Link que abre en una pestaña nueva
<a href="https://google.com" target="_blank">
  Google en pestaña nueva
</a>

// Link a un email
<a href="mailto:[email protected]">Mandame un mail</a>

Imágenes (etiqueta <img>)

Para mostrar imágenes usás <img>. Esta etiqueta es especial: NO se cierra (no lleva </img>).

<img src="foto.jpg" alt="Mi gatito">

// También se puede poner ancho y alto
<img src="foto.jpg" alt="Mi gatito" width="300">

// O una imagen de internet
<img src="https://sitio.com/foto.jpg" alt="Descripción">

Atributos importantes de img:

AtributoPara qué sirve
srcLa ruta o URL de la imagen (obligatorio)
altTexto alternativo si no carga la imagen (importante para accesibilidad)
widthAncho en píxeles
heightAlto en píxeles
♿ Tip de accesibilidad: El alt es importantísimo. Lo leen los lectores de pantalla para personas ciegas, y aparece si la imagen no carga. ¡Siempre ponelo!
✏️ Ejercicio 04

Una galería sencilla

Armá en HTML: un h2 que diga "Mis lugares favoritos", un párrafo con un link a Google Maps, y una imagen (puede ser cualquiera de internet).

SOLUCIÓN POSIBLE
<h2>Mis lugares favoritos</h2>
<p>Buscalos en
  <a href="https://maps.google.com" target="_blank">
    Google Maps
  </a>
</p>
<img src="https://picsum.photos/300/200"
     alt="Foto de un lugar lindo"
     width="300">
Capítulo 06

Listas: con y sin números

Hay dos tipos de listas en HTML:

📌 ul (unordered list)

Lista con viñetas (puntitos). El orden no importa.

🔢 ol (ordered list)

Lista numerada (1, 2, 3...). El orden importa.

Las dos usan <li> (list item) para cada elemento de la lista.

Lista con viñetas

<ul>
  <li>Manzana</li>
  <li>Banana</li>
  <li>Frutilla</li>
</ul>

Lista numerada

<ol>
  <li>Levantarse</li>
  <li>Desayunar</li>
  <li>Estudiar HTML</li>
</ol>

Listas adentro de listas (anidadas)

<ul>
  <li>Frutas
    <ul>
      <li>Manzana</li>
      <li>Pera</li>
    </ul>
  </li>
  <li>Verduras</li>
</ul>
✏️ Ejercicio 05

Tu lista de cosas por hacer

Armá una lista numerada con 4 cosas que querés hacer este mes.

SOLUCIÓN POSIBLE
<h2>Mis objetivos del mes</h2>
<ol>
  <li>Terminar el curso de HTML</li>
  <li>Salir con amigas</li>
  <li>Empezar a hacer ejercicio</li>
  <li>Leer un libro</li>
</ol>
Capítulo 07

Tablas (table)

Las tablas se usan para mostrar datos organizados en filas y columnas (como una tabla de Excel).

Estructura básica

<table>
  <tr>                       ← tr = table row (fila)
    <th>Nombre</th>            ← th = encabezado
    <th>Edad</th>
  </tr>
  <tr>
    <td>Mia</td>               ← td = celda normal
    <td>20</td>
  </tr>
  <tr>
    <td>Sofi</td>
    <td>22</td>
  </tr>
</table>

Las 4 etiquetas que necesitás:

<table>

El contenedor de toda la tabla.

<tr>

Una fila de la tabla (table row).

<th>

Una celda de encabezado (table header).

<td>

Una celda normal con datos (table data).

💡 Tip: Pensalo así: cada <tr> es una fila, y adentro van las celdas (<th> o <td>). Una tabla con 3 columnas tiene 3 celdas por fila.
Capítulo 08

Formularios: inputs y botones

Los formularios son súper importantes. Sirven para que el usuario te mande datos: nombre, email, mensajes, etc. Todo formulario va dentro de la etiqueta <form>.

Ejemplo simple: formulario de contacto

<form>
  <label for="nombre">Tu nombre:</label>
  <input type="text" id="nombre" name="nombre">

  <label for="email">Tu email:</label>
  <input type="email" id="email" name="email">

  <label for="mensaje">Mensaje:</label>
  <textarea id="mensaje" name="mensaje"></textarea>

  <button type="submit">Enviar</button>
</form>

Tipos de input más comunes

El atributo type del input es lo que cambia qué hace cada campo:

typePara qué sirve
textTexto normal (nombres, palabras...)
emailEmail (verifica que tenga @)
passwordContraseña (oculta los caracteres con •••)
numberSolo números
dateSelector de fecha
checkboxCasilla para tildar
radioBotón para elegir UNA opción entre varias
submitBotón que envía el formulario

Otros elementos importantes

Label (la etiqueta del campo)

El <label> es el textito que dice "Tu nombre:". Se conecta con su input usando for="mismo-id-del-input". Eso ayuda a la accesibilidad.

Textarea (texto largo)

<textarea> es como un input pero para texto largo (varios renglones).

Select (menú desplegable)

<select name="pais">
  <option value="ar">Argentina</option>
  <option value="uy">Uruguay</option>
  <option value="cl">Chile</option>
</select>
🔑 Atributos clave de un input:
  • type: qué tipo de input es
  • name: el nombre que se manda al servidor
  • id: identificador único (lo conecta con el label)
  • placeholder: texto gris de ejemplo
  • required: hace que el campo sea obligatorio
✏️ Ejercicio 06

Formulario de registro

Armá un formulario que pida: nombre (texto), email, contraseña, fecha de nacimiento, y un botón de "Registrarme".

SOLUCIÓN POSIBLE
<form>
  <label for="n">Nombre:</label>
  <input type="text" id="n" name="nombre" required>

  <label for="e">Email:</label>
  <input type="email" id="e" name="email" required>

  <label for="p">Contraseña:</label>
  <input type="password" id="p" name="pass" required>

  <label for="f">Nacimiento:</label>
  <input type="date" id="f" name="fecha">

  <button type="submit">Registrarme</button>
</form>
Capítulo 09

Divs, spans y semántica

¿Qué es un div?

Un <div> es un contenedor. Una caja invisible que agrupa otros elementos. Sirve para organizar la página y aplicarle estilos a un grupo de cosas a la vez.

<div>
  <h2>Una sección</h2>
  <p>Texto adentro de la sección.</p>
</div>

¿Y un span?

Un <span> es lo mismo que un div pero más chico: se usa para envolver un pedacito de texto dentro de un párrafo, no para agrupar elementos enteros.

<p>Mi color favorito es <span>violeta</span>.</p>

📦 div

Bloque grande. Ocupa todo el ancho. Para secciones, columnas, tarjetas...

🔖 span

Bloque chiquito. En línea con el texto. Para palabras o frases sueltas.

Etiquetas semánticas (HTML5)

Antes se usaban divs para todo. Pero HTML5 trajo etiquetas que ya tienen significado. Funcionan igual que un div, pero le dicen al navegador (y a Google) qué es cada parte.

<header>

El encabezado de la página o de una sección (logo, menú).

<nav>

Menú de navegación con links.

<main>

El contenido principal de la página.

<section>

Una sección temática.

<article>

Un contenido independiente (un post, una nota).

<footer>

El pie de página (copyright, redes, etc.).

Estructura semántica típica

<body>
  <header>
    <h1>Mi Blog</h1>
    <nav>
      <a href="#">Inicio</a>
      <a href="#">Sobre mí</a>
    </nav>
  </header>

  <main>
    <article>
      <h2>Mi primer post</h2>
      <p>Contenido del post...</p>
    </article>
  </main>

  <footer>
    <p>© 2026 Mia</p>
  </footer>
</body>
🌍 ¿Por qué importa? Las etiquetas semánticas mejoran el SEO (Google entiende mejor tu sitio) y la accesibilidad (los lectores de pantalla saben qué es cada cosa).
Capítulo 10 · Práctica libre

Editor en vivo

Acá tenés un editor para experimentar. Escribí HTML del lado izquierdo y mirá el resultado a la derecha. Animate a romper cosas — así se aprende.

🌸 mi-pagina.html EN VIVO

Ideas para probar:

Capítulo 11 · Test final

Quiz: 8 preguntas

Probá lo que aprendiste. Sin presión, sin nota. Es para vos.

1. ¿Para qué sirve la etiqueta <h1>?

2. Si abrís <p>, ¿qué tenés que hacer después?

3. ¿Dónde va todo el contenido visible?

4. ¿Qué atributo se usa para indicar a dónde lleva un link?

5. ¿Cuál es la diferencia entre <ul> y <ol>?

6. ¿Qué etiqueta NO necesita cierre?

7. ¿Para qué sirve el atributo "alt" en una imagen?

8. ¿Cuál es la mejor forma de marcar el menú de navegación?

Capítulo 12 · Proyecto final

🌟 Tu página personal

Ahora que aprendiste todo, vas a armar una página web sobre vos. Es tu proyecto final del curso.

📋 Lo que tiene que tener tu página:

Tu página personal debe incluir todo esto:

  • Estructura HTML completa (DOCTYPE, html, head, body)
  • Un <title> con tu nombre
  • Un <header> con un <h1> (tu nombre) y un <nav> con 3 links
  • Una sección "Sobre mí" con un párrafo y al menos una imagen
  • Una sección "Mis hobbies" con una lista (ul o ol)
  • Una sección "Mis películas favoritas" con una tabla (3 filas)
  • Una sección "Contacto" con un formulario (nombre, email, mensaje, botón)
  • Un <footer> con tu nombre y el año
  • Al menos 1 link externo (a una red social, por ejemplo)
  • Texto con <strong> y <em> en algún lado

🛠️ Cómo hacerlo paso a paso:

  1. Abrí un editor de texto. Puede ser el Bloc de Notas, pero te recomiendo bajar Visual Studio Code (gratis).
  2. Creá un archivo nuevo y guardalo como mi-pagina.html.
  3. Empezá con la estructura básica (DOCTYPE, html, head, body).
  4. Agregá las secciones de a una. No quieras hacer todo de golpe.
  5. Abrí el archivo en el navegador con doble clic para ver cómo va quedando.
  6. Cuando cambiás algo, guardá y refrescá el navegador (F5) para ver los cambios.
💎 Solución completa

¿Te trabaste? Mirá un ejemplo

Si te trabás en algún paso, acá tenés un ejemplo completo del proyecto final terminado para que te guíes (¡pero primero intentá hacerlo vos!).

EJEMPLO DE PROYECTO FINAL
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Mia Benjardino</title>
</head>
<body>

  <header>
    <h1>Mia Benjardino</h1>
    <nav>
      <a href="#sobre-mi">Sobre mí</a> |
      <a href="#hobbies">Hobbies</a> |
      <a href="#contacto">Contacto</a>
    </nav>
  </header>

  <main>

    <section id="sobre-mi">
      <h2>Sobre mí</h2>
      <img src="https://picsum.photos/300/200"
           alt="Foto mía">
      <p>Hola, soy <strong>Mia</strong> y estoy
         aprendiendo <em>programación</em> en
         Digital House.</p>
    </section>

    <section id="hobbies">
      <h2>Mis hobbies</h2>
      <ul>
        <li>Escuchar música</li>
        <li>Salir con amigas</li>
        <li>Aprender a programar</li>
      </ul>
    </section>

    <section>
      <h2>Mis películas favoritas</h2>
      <table border="1">
        <tr>
          <th>Película</th>
          <th>Año</th>
        </tr>
        <tr>
          <td>La La Land</td>
          <td>2016</td>
        </tr>
        <tr>
          <td>Inception</td>
          <td>2010</td>
        </tr>
        <tr>
          <td>El Padrino</td>
          <td>1972</td>
        </tr>
      </table>
    </section>

    <section id="contacto">
      <h2>Contacto</h2>
      <p>Seguime en
        <a href="https://instagram.com"
           target="_blank">Instagram</a>
      </p>
      <form>
        <label for="n">Nombre:</label>
        <input type="text" id="n" name="nombre">

        <label for="e">Email:</label>
        <input type="email" id="e" name="email">

        <label for="m">Mensaje:</label>
        <textarea id="m" name="mensaje"></textarea>

        <button type="submit">Enviar</button>
      </form>
    </section>

  </main>

  <footer>
    <p>© 2026 Mia Benjardino</p>
  </footer>

</body>
</html>
🚀 ¿Y después? Cuando termines tu proyecto, el siguiente paso es CSS: ahí le das color, formas y estilo. Pero eso es otro curso. ¡Por ahora terminá esto y celebralo!