Internet existe gracias a los enlaces. Son el hilo que conecta una página con otra. Con la etiqueta <a> puedes crear ese hilo desde tu propio HTML.
<a>: el anclaLa "a" viene de anchor (ancla en inglés). Su atributo más importante es href, que define a dónde va el enlace.
La anatomía de un enlace:
<!-- Enlace externo: va a otra web -->
<a href="https://google.com">Ir a Google</a>
<!-- Abre en pestaña nueva -->
<a href="https://google.com" target="_blank">Abrir en nueva pestaña</a>
<!-- Enlace interno: va a otra página de tu sitio -->
<a href="contacto.html">Ir a Contacto</a>
Aquí es donde muchos principiantes se confunden. Una ruta es la dirección de un archivo dentro de tu computadora o servidor. Hay dos tipos:
https://).
"https://misitioweb.com/paginas/contacto.html"
"contacto.html" — mismo nivel de carpeta"paginas/contacto.html" — entra a una carpeta"../contacto.html" — sube un nivel y busca el archivo
Ejemplo visual de carpetas:
📁 MiWeb/
├── 📄 index.html ← estás aquí
├── 📄 contacto.html
└── 📁 paginas/
├── 📄 sobre-mi.html
└── 📄 proyectos.html
Desde index.html:
→ Para ir a contacto: href="contacto.html"
→ Para ir a sobre-mi: href="paginas/sobre-mi.html"
Desde paginas/sobre-mi.html:
→ Para volver a index: href="../index.html"
# puedes saltar a una sección de la misma página. Primero le pones un id al elemento destino, luego enlazas a ese id.
<!-- El destino -->
<h2 id="contacto">Contacto</h2>
<!-- El enlace que salta a él -->
<a href="#contacto">Ir a Contacto</a>
mailto: abres el cliente de correo del usuario directamente.
<a href="mailto:hola@ejemplo.com">Escríbeme</a>
# como destino temporal. No redirige a ningún lado.
<a href="#">Próximamente</a>
MiWeb/, crea un segundo archivo llamado sobre-mi.html con su propio boilerplate y un <h1>.index.html, agrega un <a> que lleve a sobre-mi.html.sobre-mi.html, agrega un <a> que vuelva a index.html.target="_blank" para que abra en pestaña nueva.