Creando Enlaces en la Web
Los enlaces, o links, son la esencia del hipertexto, la "H" de HTML. Conectan páginas, recursos, y sitios, permitiendo navegar por la web.
En esta lección aprenderemos a crear enlaces con la etiqueta <a>
, usar rutas absolutas y relativas, saltar dentro de una página, y enlazar imágenes o correos.
También veremos cómo enlazar a otros sitios respetando normas de cortesÃa y derechos de autor.
Creando un enlace básico
Un enlace es un elemento (texto o imagen) que, al hacer clic, lleva a otro lugar. Usa la etiqueta <a>
(anchor, ancla):
<a href="https://www.w3.org">W3C</a>
Esto crea un enlace al sitio del W3C, el consorcio que define los estándares HTML. El resultado es:
Pasa el cursor sobre el enlace: se convierte en una mano, indicando que es clicable. Al hacer clic (si estás conectado !), el navegador te lleva a https://www.w3.org
.
- Etiqueta
<a>
: Define el enlace. Requiere una etiqueta de cierre</a>
. - Atributo
href
: Especifica la dirección (Hypertext Reference), como una URL o ruta. - Texto entre
<a>
y</a>
: Es lo que el usuario ve y cliquea.
Direcciones URL: Absolutas y relativas
Como aprendimos en la lección de rutas, una URL puede ser absoluta o relativa. Esto se aplica a los enlaces con <a>
.
URLs absolutas
Una URL absoluta incluye la dirección completa, con protocolo, dominio, y ruta. Por ejemplo:
<a href="https://www.w3.org/MarkUp/Guide/Advanced.html">GuÃa Avanzada del W3C</a>
Esto apunta a Advanced.html
en el servidor w3.org
, carpeta /MarkUp/Guide/
.
Desglosemos:
https://
: Protocolo (HTTPS es el estándar actual, más seguro que HTTP).www.w3.org
: Dominio del servidor (nota:www
es opcional en muchas URLs modernas)./MarkUp/Guide/Advanced.html
: Ruta al archivo especÃfico.
Cuándo usarlas:
- Enlaces a sitios externos (otro servidor).
- Cuando quieres evitar ambigüedades.
URLs relativas
Una URL relativa indica la ubicación respecto al archivo HTML actual, en el mismo servidor. Por ejemplo:
<a href="index.html">Página principal</a>
Si index.html
está en la misma carpeta que la página actual, el navegador lo encuentra automáticamente. Otros casos:
- Subcarpeta:
<a href="pages/excursion.html">Mi excursión</a>
Apunta a excursion.html
en la carpeta pages/
.
- Carpeta superior:
<a href="../index.html">Volver al inicio</a>
../
retrocede una carpeta. Por ejemplo, desde
/personal/excursion/excursion.html
a
/index.html
.
- Carpeta transversal:
<a href="../../images/apple.png">Ver imagen</a>
Retrocede dos carpetas y entra en images/
.
Cuándo usarlas:
- Enlaces dentro de tu propio sitio.
- Más rápidas y portátiles (no dependen del dominio).
Nota: Recuerda la lección de rutas: usa /
(sintaxis Unix), no \
(Windows), y respeta mayúsculas/minúsculas (Index.html
≠index.html
).
Enlaces dentro de la misma página
Puedes crear enlaces que salten a una sección especÃfica de la misma página, útil para páginas largas (como manuales o artÃculos). Necesitas:
- Un enlace que apunte a un identificador.
- Un destino marcado con ese identificador (en la misma página).
Ejemplo
Para saltar al inicio de esta lección:
<a href="#inicio">Volver arriba</a>
En el destino (por ejemplo, el tÃtulo de la página):
<h1 id="inicio">Creando Enlaces en la Web</h1>
El enlace lleva al elemento con id="inicio"
. El
#
indica que es un anclaje interno.
Usando id
vs. name
:
- En HTML5, usa
id
en cualquier elemento (<h1>
,<p>
,<div>
) para marcar el destino. Es más flexible y sirve como selector CSS. - Antes, se usaba
<a name="inicio"></a>
, pero queda obsoleto. Aún funciona en navegadores antiguos, pero evita usarlo salvo para compatibilidad. - Si usas ambos,
id
yname
deben tener el mismo valor (por ejemplo,<a id="inicio" name="inicio"></a>
).
Ejemplo con name
(para compatibilidad):
<a href="#seccion1">Ir a la sección</a>
...
<a name="seccion1"></a>
<h2>Sección 1</h2>
Enlaces a secciones de otra página
Puedes combinar una URL con un anclaje:
<a href="https://www.example.com/manual.html#capitulo2">CapÃtulo 2</a>
Esto lleva a manual.html
, sección con id="capitulo2"
. El ancla de destino debe existir en la página externa.
Imágenes como enlaces
En lugar de texto, una imagen puede ser el enlace. Por ejemplo:
<a href="https://www.apache.org">
<img src="images/logo.png" alt="Logo de Apache" width="100" height="50" style="border: none;">
</a>
Esto crea una imagen clicable que lleva a apache.org
.
Notas:
- Atributo
alt
: Obligatorio para accesibilidad, describe la imagen. - Borde: Los navegadores añaden un borde a imágenes
enlazadas. Usa
style="border: none;"
para quitarlo (el atributoborder="0"
está obsoleto). - Ruta: Conecta con la lección de rutas
(
images/logo.png
es relativa).
Ejemplo en contexto:
<p>Visita el sitio de Apache:</p>
<a href="https://www.apache.org">
<img src="images/logo.png" alt="Logo de Apache" style="border: none;">
</a>
Otros tipos de enlaces: enlaces de correo (mailto:)
Los enlaces no solo conectan páginas web. Aquà hay otros usos:
Crea un enlace que abre el cliente de correo del usuario:
<a href="mailto:contacto@example.com">Contáctame</a>
Al hacer clic, se abre un formulario de correo con contacto@example.com
como destinatario. Puedes añadir parámetros:
<a href="mailto:contacto@example.com?subject=Consulta%20sobre%20HTML&cc=soporte@example.com">Enviar consulta</a>
?subject=
: Define el asunto (usa%20
para espacios).&cc=
: Añade copia a otro correo.
Nota: Depende del cliente de correo del usuario (por ejemplo, Outlook, Gmail). Algunos dispositivos móviles pueden no soportarlo.
Enlaces a archivos
Enlaza a un archivo para descargar:
<a href="files/documento.zip" download="archivo zip" >Descargar archivo</a>
- Usa rutas relativas (
files/documento.zip
) o absolutas. - Asegúrate de que el archivo esté en el servidor.
- Formatos comunes: ZIP, PDF, MP3, etc.
Enlaces a servidores FTP (menos común hoy en dÃa)
Antes, se usaban enlaces FTP para descargas:
<a href="ftp://ftp.example.com/files/programa.exe">Descargar programa</a>
Hoy, HTTPS es preferido para descargas. Usa FTP solo si es necesario, y verifica que el servidor lo soporte.
Enlaces a sitios externos y cortesÃa
Es totalmente legÃtimo enlazar a páginas de otros sitios; no necesitas permiso, ya que los enlaces son la base de la web. Sin embargo:
- CortesÃa: Algunos sitios piden enlazar a páginas especÃficas (por ejemplo, la página principal). Respeta esas instrucciones si las indican.
- Derechos de autor: Evita enlazar directamente a recursos privados (como imágenes) sin permiso (hotlinking). Usa recursos propios o con licencias abiertas (por ejemplo, Creative Commons).
- Cita la fuente: Si enlazas contenido de otro sitio, menciona al autor o sitio por ética.
Ejemplo:
<a href="https://www.w3.org">Sitio oficial del W3C</a>
Abrir enlaces en una nueva ventana
Por defecto, un enlace reemplaza la página actual. Para abrirlo en una nueva pestaña/ventana, usa target="_blank"
:
<a href="https://www.w3.org" target="_blank">W3C (nueva pestaña)</a>
Advertencias:
- Accesibilidad: Informa a los usuarios que el enlace abre una nueva pestaña (por ejemplo, con texto o un Ãcono). Sin esto, puede desorientar.
- Uso excesivo: Evita abusar de
target="_blank"
, ya que puede molestar a los usuarios o parecer intrusivo. - Frames: Históricamente,
target
se usaba con frames (marcos). En HTML5, es válido sin frames, pero úsalo con moderación. - Es recomendable usar
rel="noopener noreferrer"
junto atarget="_blank"
para mejorar la seguridad y evitar problemas de rendimiento. Esto previene que la nueva página acceda a la página original a través de JavaScript. Si usasnoreferrer
, no se envÃa junto a la petición del recurso el header del solicitante (tu).noopener
evita que la página de destino pueda ejecutar código malicioso o sencillamente, ralentizar la página de origen, si ejecuta javascript complejo,
Ejemplo accesible:
<a href="https://www.w3.org" target="_blank">W3C (abre en nueva pestaña)</a>
Ejemplo completo
Aquà tienes una página que combina enlaces de todo tipo, usando la estructura de carpetas de la lección de rutas:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi página de enlaces</title>
</head>
<body>
<!-- TÃtulo principal -->
<h1 id="inicio">Mi página de enlaces</h1>
<p>Bienvenidos a mi sitio. Explora los siguientes enlaces:</p>
<!-- Enlace absoluto -->
<p>Visita el <a href="https://www.w3.org">sitio del W3C</a> para aprender más sobre HTML.</p>
<!-- Enlace relativo -->
<p>Lee sobre mi <a href="personal/excursion/excursion.html">excursión</a>.</p>
<!-- Enlace interno -->
<p><a href="#contacto">Ir a la sección de contacto</a>.</p>
<!-- Imagen como enlace -->
<p>Explora Apache:</p>
<a href="https://www.apache.org">
<img src="images/logo.png" alt="Logo de Apache" width="100" height="50" style="border: none;">
</a>
<!-- Enlace de correo -->
<h2 id="contacto">Contacto</h2>
<p>EnvÃame un correo: <a href="mailto:contacto@example.com?subject=Consulta">Contáctame</a>.</p>
<!-- Enlace a archivo -->
<p><a href="files/manual.pdf">Descargar el manual</a>.</p>
<!-- Volver arriba -->
<p><a href="#inicio">Volver arriba</a>.</p>
</body>
</html>
Estructura de carpetas:
example.com/
├── index.html
├── images/
│ └── logo.png
├── files/
│ └── manual.pdf
├── personal/
│ └── excursion/
│ └── excursion.html
Guarda este código como index.html
. Asegúrate de tener logo.png
en images/
, manual.pdf
en files/
, y excursion.html
en personal/excursion/
. Observa cómo:
<h1 id="inicio">
marca el anclaje interno.- Los enlaces usan rutas absolutas (
https://www.w3.org
), relativas (personal/excursion/excursion.html
), e internas (#contacto
). - La imagen enlazada usa
style="border: none;"
yalt
. mailto:
abre un correo, y el enlace amanual.pdf
permite descargar.
Consejos para enlaces efectivos
- Texto descriptivo: Usa textos claros en los enlaces (por ejemplo, "Sitio del W3C" en lugar de "Clic aquÃ") para accesibilidad y SEO.
- Rutas correctas: Verifica rutas relativas/absolutas, mayúsculas/minúsculas, y que los archivos estén en el servidor (ver lección de rutas).
- Accesibilidad
- Incluye
alt
en imágenes enlazadas. - Indica si un enlace abre una nueva pestaña.
- Evita enlaces vacÃos (
<a href="#">
). - usa
aria-label
para describir enlaces complejos o con iconos. - Usa
rel="noopener noreferrer"
contarget="_blank"
para seguridad y rendimiento. - Hay muchos otros atributos, en los que por su especificidad no vamos a detenermos mucho:
tabindex
(orden de enfoque de los enlaces mediante tabuldor)lang
para especificar el idioma del enlace,title
para proporcionar información adicional sobre el enlace,rel="nofollow"
si no quieres que los motores de búsqueda sigan el enlace.,rel="external"
para indicar que el enlace lleva a un sitio externo, etc.
- Incluye
- Prueba los enlaces: Abre tu página en un navegador para confirmar que funcionan.
- Evita *hotlinking*: No enlaces imágenes de otros sitios sin permiso; usa recursos propios o con licencia.
- CortesÃa: Respeta las instrucciones de los sitios enlazados (por ejemplo, enlazar a su página principal).
Recapitulación
En esta lección hemos aprendido:
- Crear enlaces con
<a>
yhref
para conectar páginas y recursos. - Usar URLs absolutas (para sitios externos) y relativas (dentro de tu sitio).
- Saltar a secciones de una página con anclajes (
id
oname
). - Enlazar imágenes con
<img>
dentro de<a>
, usandoalt
y CSS para bordes. - Crear enlaces
mailto:
, a archivos, y (menos común) a FTP. - Respetar derechos de autor y normas de cortesÃa al enlazar sitios externos.
- Usar
target="_blank"
con cuidado, priorizando accesibilidad.
En la próxima sección, exploraremos más elementos HTML, como tablas o formularios.