Parte 2: HTML: la estructura · Lección 5 de 18

#05 Listas y enlaces

Haz listas con viñetas o numeradas y conecta tus páginas con el resto de la web mediante enlaces. 35 min

Listas sin orden: <ul>

Cuando el orden de las cosas no importa, como en la lista de la compra, usa una lista sin orden (unordered list). Cada elemento va en un <li> (list item):

Lista de la compra

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

El navegador pone una viñeta delante de cada elemento. Con CSS podrás cambiarla o quitarla.

Listas ordenadas: <ol>

Cuando el orden sí importa (pasos, clasificaciones, instrucciones), usa una lista ordenada (ordered list). El navegador numera solo:

Pasos de una receta

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

<ol> tiene algunos atributos útiles:

  • start="5" empieza a contar desde 5.
  • reversed cuenta hacia atrás (ideal para un «top 10»).
  • type="a" usa letras; type="I", números romanos.

Listas dentro de listas

Dentro de un <li> puedes meter otra lista completa. Así se hacen índices y menús con submenús:

Listas anidadas

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

Enlaces: <a>

Los enlaces son lo que convierte un montón de páginas en una red: la web (telaraña, en inglés). Se hacen con el elemento <a> (de anchor, ancla) y su atributo href:

html
<a href="https://developer.mozilla.org/es/">Documentación de MDN</a>
  • href dice a dónde lleva.
  • El contenido es el texto en el que se hace clic.
Tus primeros enlaces

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

Además de páginas web, un enlace puede abrir el correo (mailto:) o llamar por teléfono desde el móvil (tel:).

Abrir en una pestaña nueva

Con target="_blank", el enlace se abre en otra pestaña:

html
<a href="https://es.wikipedia.org" target="_blank">Wikipedia</a>

Escribe buenos textos de enlace

El texto del enlace debe decir a dónde lleva, aunque se lea solo:

  • ❌ «Para ver los precios, haz clic aquí».
  • ✅ «Consulta nuestros precios».

Las personas que usan lectores de pantalla a menudo escuchan la lista de enlaces de la página sin el texto de alrededor. Una lista de diez «aquí» no sirve de nada.

Rutas: cómo decir dónde está algo

El valor de href es una ruta (o URL). Hay dos tipos.

Rutas absolutas

La dirección completa, con https:// y el dominio. Se usan para ir a otras webs:

html
<a href="https://es.wikipedia.org/wiki/HTML">HTML en Wikipedia</a>

Rutas relativas

La dirección desde la carpeta del archivo en el que estás. Se usan para ir a tus propias páginas. Imagina esta carpeta de proyecto:

text
mi-web/
├── index.html
├── contacto.html
└── blog/
    ├── index.html
    └── primer-post.html
DesdePara ir aEscribePor qué
index.htmlcontacto.htmlcontacto.htmlEstán en la misma carpeta
index.htmlprimer-post.htmlblog/primer-post.htmlEntras en la carpeta blog
blog/primer-post.htmlcontacto.html../contacto.html../ sube a la carpeta de arriba
blog/primer-post.htmlblog/index.htmlindex.htmlEstán en la misma carpeta

Enlaces dentro de la misma página

Puedes saltar a cualquier parte de una página larga. Primero ponle un id (un nombre único) al elemento de destino, y luego enlaza con # + ese nombre:

Saltos dentro de la página

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

El id debe ser único en la página: no puede haber dos elementos con el mismo.

Errores típicos

  • Poner texto o <p> directamente dentro de <ul>, sin <li>.
  • Escribir los números a mano en una lista en lugar de usar <ol>.
  • Olvidar https:// en enlaces a otras webs: href="www.google.com" se interpreta como un archivo de tu carpeta.
  • Usar rutas de tu ordenador, como C:\Users\ana\web\contacto.html. En cuanto subas la web dejarán de funcionar. Usa rutas relativas.
  • Enlaces que dicen «aquí» o «clic». Describe el destino.
  • Escribir href="precios" en lugar de href="#precios" para ir a una sección.

Ejercicios

Ejercicio 1: tus películas favoritas (fácil)

Haz un <h2> «Mi top 3 de películas» y una lista ordenada con tres películas. Después, haz que cuente hacia atrás (3, 2, 1).

Ejercicio 1

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado
Pista

Para contar hacia atrás, <ol> tiene un atributo sin valor: basta con escribir su nombre.

Solución
html
<h2>Mi top 3 de películas</h2>
<ol reversed>
  <li>El viaje de Chihiro</li>
  <li>Regreso al futuro</li>
  <li>Coco</li>
</ol>

Ejercicio 2: arregla la lista (fácil)

Esta lista anidada tiene dos errores. Encuéntralos y corrígelos.

Ejercicio 2

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado
Pista

Recuerda: el hijo directo de <ul> siempre es <li>, y la sublista va dentro del <li> del que depende.

Solución
html
<ul>
  <li>Europa
    <ul>
      <li>España</li>
      <li>Portugal</li>
    </ul>
  </li>
  <li>Asia</li>
</ul>

Ejercicio 3: menú de navegación (medio)

Crea un menú con una lista sin orden de tres enlaces: «Inicio» a index.html, «Blog» a blog/index.html y «MDN» a https://developer.mozilla.org/es/ (este último en una pestaña nueva).

Ejercicio 3

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado
Pista 1

Cada <li> contiene un <a>. El enlace va dentro del elemento de la lista.

Pista 2

Las dos primeras rutas son relativas; la tercera es absoluta.

Solución
html
<ul>
  <li><a href="index.html">Inicio</a></li>
  <li><a href="blog/index.html">Blog</a></li>
  <li><a href="https://developer.mozilla.org/es/" target="_blank">MDN</a></li>
</ul>

Ejercicio 4: rutas (reto)

Con la carpeta de abajo, escribe el href para ir: a) de index.html a foto.html; b) de foto.html a index.html; c) de foto.html a contacto.html.

text
mi-web/
├── index.html
├── contacto.html
└── galeria/
    └── foto.html
Pista

Para salir de la carpeta galeria hacia la de arriba se usa ../.

Solución

a) galeria/foto.html · b) ../index.html · c) ../contacto.html

Ficha resumen

  • <ul> = lista sin orden (viñetas). <ol> = lista ordenada (números). Cada elemento, en un <li>.
  • Las sublistas van dentro de un <li>.
  • Enlace: <a href="destino">texto que describe el destino</a>.
  • Ruta absoluta: https://…, para otras webs. Ruta relativa: pagina.html, carpeta/pagina.html, ../pagina.html, para tus páginas.
  • href="#id" salta a un elemento de la misma página. mailto: y tel: abren el correo y el teléfono.
  • target="_blank" abre en otra pestaña (con moderación).

Glosario

TérminoDefinición
<ul>Lista sin orden, con viñetas (unordered list).
<ol>Lista ordenada, numerada automáticamente (ordered list).
<li>Cada elemento de una lista (list item).
EnlaceElemento <a> que lleva a otra página, a otra parte de la misma página, a un correo o a un teléfono.
hrefAtributo de <a> con la dirección de destino del enlace.
URLDirección de un recurso en la web, como https://es.wikipedia.org/wiki/HTML.
Ruta absolutaDirección completa, con protocolo y dominio. Sirve para enlazar a otras webs.
Ruta relativaDirección calculada desde la carpeta del archivo actual. Sirve para enlazar tus propias páginas.
idAtributo con un nombre único para un elemento, que permite enlazarlo con #nombre.

Comprueba lo que has aprendido

Responde sin mirar arriba. Si fallas alguna, la explicación te dice por qué.

Pregunta 1 de 6

¿Qué lista usarías para los pasos de una receta?

¿Lo tienes claro?

Si has hecho los ejercicios y aciertas el test, márcala como estudiada y pasa a la siguiente.