--- title: Crear hipervínculos slug: Learn/HTML/Introduction_to_HTML/Creating_hyperlinks tags: - Aprender - CodingScripting - Guía - HTML - HTTP - Novato - Principiante - Title - URL - enlace - hiperenlaces - hipervínculos - href - referencia absoluta - referencia relativa - título - urls translation_of: Learn/HTML/Introduction_to_HTML/Creating_hyperlinks original_slug: Learn/HTML/Introduccion_a_HTML/Creating_hyperlinks ---
Los hipervínculos (o enlaces) son elementos verdaderamente importantes — son los que hacen que la web sea web. Este artículo expone la sintaxis necesaria para crear un enlace, además contiene un catálogo de buenas prácticas para crearlos.
Prerrequisitos: | Estar familiarizado con HTML, cubierto en {{web.link("/es/docs/Learn/HTML/Introduction_to_HTML/Getting_started", "Empezar con HTML")}}. Aplicación de formato a texto en documentos HTML, según lo expuesto en la sección {{web.link("/es/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "fundamentos de texto HTML")}}. |
---|---|
Objetivo: | Aprender a implementar un hipervínculo de forma efectiva y enlazar múltiples archivos. |
Los hipervínculos son una de las innovaciones más interesantes que ofrece la Web. Han formado parte de esta desde el principio, pero hacen que la web sea web : Los hipervínculos nos permiten vincular documentos a otros documentos o recursos, vincular a partes específicas de documentos o hacer que las aplicaciones estén disponibles en una dirección web. Prácticamente cualquier contenido web se puede convertir en un enlace que, al pulsarlo (activarlo), dirija el navegador a la dirección web a la que apunta el enlace ({{Glossary("URL")}}).
Nota: Una URL puede apuntar a archivos HTML, archivos de texto, imágenes, documentos de texto, archivos de audio o vídeo, y cualquier otra cosa que se pueda mostrar en la web. Si el navegador no sabe cómo manejar el archivo, te preguntará si lo quieres abrir (en cuyo caso la tarea de abrirlo y manejarlo se transferirá a la aplicación nativa instalada en el dispositivo) o si lo quieres descargar (en cuyo caso podrás ocuparte de él más tarde).
El sitio web de la BBC, por ejemplo, contiene una gran cantidad de enlaces que apuntan a multitud de noticias en diferentes zonas de el sitio (funcionalidad de navegación), zonas de acceso/registro (herramientas de usuario) y otras.
Un enlace básico se crea incluyendo el texto (o cualquier otro contenido, ve {{anch("Convertir bloques de contenido en enlaces")}}), que queramos convertir en un enlace usando un elemento ancla {{HTMLElement("a")}}, dándole un atributo {{HTMLAttrxRef("href", "a")}} (también conocido como «Hypertext Reference», «target» u objetivo) que contendrá la dirección web hacia dónde queremos que apunte el enlace.
<p>Crea un enlace a <a href="https://www.mozilla.org/es-ES/">la página de inicio de Mozilla</a>. </p>
Este código producirá el siguiente resultado:
Crea un enlace a la página de inicio de Mozilla.
title
Otro atributo que posiblemente quieras agregar a tus enlaces es title
. El título contiene información adicional sobre el enlace, como qué tipo de información contiene la página o cosas que debes tener en cuenta en el sitio web.
<p>Crea un enlace a <a href="https://www.mozilla.org/es-ES/" title="El mejor lugar para encontrar más información acerca de la misión de Mozilla y cómo contribuir">la página de inicio de Mozilla</a>. </p>
Este código producirá el siguiente resultado (el título se mostrará al pasar el ratón sobre el texto del enlace):
Crea un enlace a la página de inicio de Mozilla.
Nota: El título de un enlace solo será visible al pasar el ratón por encima, lo cual significa que los usuarios que naveguen usando los controles de sus teclados, o pantallas táctiles, tendrán dificultades para acceder a la información proporcionada por el título. Si la información del título es verdaderamente importante para el uso de la página, deberemos presentar el título de manera que sea accesible a todos los usuarios, por ejemplo incluyéndola como parte del texto del enlace.
Es momento del aprendizaje activo — crea un documento HTML con tu editor de código (nuestra plantilla de aprendizaje te hará la tarea más llevadera).
body
), añade uno o más párrafos o cualquier otro tipo de contenido de los que ya conoces.title
).Como hemos mencionado anteriormente, puedes convertir cualquier contenido en un enlace, incluso {{web.link("/es/docs/Learn/HTML/Getting_started#Elementos_de_bloque_y_elementos_en_línea", "Elementos de bloque y elementos en línea")}}. Si quieres convertir una imagen en un enlace, simplemente usa el elemento {{HTMLElement("a")}} encerrando el elemento {{HTMLElement("img")}} entre <a>
y </a>
.
<a href="https://www.mozilla.org/es-ES/"> <img src="mozilla-image.png" alt="Logotipo de Mozilla que dirige a la página inicial de Mozilla"> </a>
Nota: Encontrarás mucho más sobre el manejo de imágenes en próximos artículos en esta web.
Para comprender completamente a dónde apuntan los enlaces, necesitas conocer las URLs y las rutas. En esta sección encontrarás la información que necesitas sobre el tema.
Una localizadora uniforme de recursos (URL, de las iniciales en inglés de «Uniform Resource Locator») es simplemente una secuencia de caracteres de texto que definen donde está situado algo en la web. Por ejemplo, la página de Mozilla está ubicada en https://www.mozilla.org/es-ES/
.
Las URLs utilizan rutas para encontrar los archivos. Las rutas especifican dónde se encuentra el archivo que buscas dentro del sistema de archivos. Veamos un ejemplo de una estructura de directorios (ve el directorio creating-hyperlinks).
Al directorio raíz de esta estructura de directorios lo hemos llamado creating-hyperlinks
. Al trabajar en modo local en una web, habrá un directorio que contendrá toda la información. En nuestro ejemplo, dentro de la raíz, encontramos el archivo index.html
y el archivo contacts.html
. En una web real, index.html
es el punto de entrada a la web, lo que se conoce como página de inicio.
Observamos también dos directorios dentro de nuestro directorio raíz que son: pdfs
y projects
. Cada uno de ellos tiene archivos en su interior — un archivo PDF (project-brief.pdf
) y un archivo index.html
, respectivamente. Observa que es posible tener sin problemas dos archivos index.html
en un proyecto siempre y cuando se encuentren alojados en ubicaciones diferentes de nuestra estructura de archivos — muchos sitios web lo hacen. El segundo index.html
será la página de inicio para la información relativa a los proyectos.
En el mismo directorio: Si queremos incluir un hipervínculo dentro del archivo index.html
(el index.html
del nivel más alto) que apunte al archivo contacts.html
, simplemente especificaremos el nombre del archivo al que hacemos referencia, porque se encuentra en el mismo directorio en el que se encuentra el archivo index.html
desde donde lo queremos llamar. Por lo tanto, usamos la URL contacts.html
— veamos el código:
<p>¿Quieres contactar con un miembro específico del personal? Encuentra los detalles en nuestra <a href="contacts.html">página de contactos</a>.</p>
Bajando por la estructura de subdirectorios: Si queremos incluir un hipervínculo dentro del archivo index.html
(el index.html
de nivel más alto) que apunta a projects/index.html
, debemos bajar hasta el directorio projects
antes de indicar al archivo al que queremos enlazar. Para ello especificamos el nombre del directorio y le añadimos una barra inclinada hacia adelante, y a continuación el nombre del archivo. Por lo tanto, utilizaremos la URL projects/index.html
:
<p>Visita mi <a href="projects/index.html">página de inicio del proyecto</a>.</p>
Subiendo por nuestro sistema de directorios: Si ahora queremos incluir un hipervínculo dentro del archivo projects/index.html
que apunte a pdfs/project-brief.pdf
, hay que subir un nivel en nuestro sistema de directorios, para luego bajar al directorio pdf
. Para «Subir un nivel» utilizamos los dos puntos — (..
) — por lo que usamos la URL ../pdfs/project-brief.pdf
:
<p>Un enlace a mi<a href="../pdfs/project-brief.pdf">resumen del proyecto</a>.</p>
Nota: Podemos combinar más de una instancia de estas características y generar URLs más complejas, si es necesario, por ejemplo: ../../../ruta/compleja/a/mi/archivo.html
.
Es posible apuntar hacia una parte concreta de un documento HTML en vez de a todo un documento. Para ello hay que asignar previamente un atributo {{HTMLAttrxRef("id")}} al elemento hacia el que apuntamos. Esto se debe hacer en el encabezado y quedará así:
<h2 id="Dirección_de_envío">Dirección de envío</h2>
Posteriormente para hacer referencia a este id
concreto, lo añadiremos al final de la URL precedido por una almohadilla — veamos el ejemplo:
<p>¿Quieres mandarnos una carta? Aquí tienes nuestra <a href="contacts.html#Dirección_de_envío">Dirección de envío</a>.</p>
También podemos usar esta referencia a un fragmento de documento para apuntar hacia otra parte del mismo documento:
<p>La <a href="#Dirección_de_envío">Dirección de envío de la empresa</a> se encuentra al final de esta página.</p>
Dos términos que encontrarás en la Web son URL absoluta y URL relativa:
URL absoluta: Hace referencia a una dirección definida por su ubicación absoluta en la web, esta incluye el {{Glossary("protocol", "protocolo")}} y el {{Glossary("domain name", "nombre del dominio")}}. Por ejemplo, si subes una página de inicio index.html
a un directorio llamado projects
que se encuentra dentro de la raíz de un servidor web, y el dominio del sitio web es http://www.example.com
, se podrá acceder a la página desde http://www.example.com/projects/index.html
(o simplemente http://www.example.com/projects/
, ya que la mayoría de los servidores web buscan la página de inicio index.html
para cargarla por omisión si no se les especifica otra en la URL).
Una URL absoluta siempre apuntará a la misma dirección, sin importar desde dónde se utilice.
Una URL relativa: Hace referencia a una dirección que depende de la posición del archivo desde donde se utiliza — son las que vimos en la sección anterior. Por ejemplo, si desde un archivo ubicado en http://www.example.com/projects/index.html
queremos enlazar hacia un archivo PDF ubicado en el mismo directorio, la URL sería simplemente el nombre del archivo (por ejemplo: project-brief.pdf
) no necesitamos más información. Si el archivo PDF está situado en un subdirectorio dentro de projects
llamado pdfs
, la URL relativa es: pdfs/project-brief.pdf
(la URL absoluta equivalente sería: http://www.example.com/projects/pdfs/project-brief.pdf
).
Una URL relativa hará referencia a diferentes direcciones según dónde se encuentre el archivo desde el cual se utiliza — por ejemplo, si movemos nuestro archivo index.html
del directorio projects
a la raíz del sitio web (el nivel más alto, no cualquiera de los otros directorios), la URL relativa pdfs/project-brief.pdf
ahora hará referencia a http://www.example.com/pdfs/project-brief.pdf
, en lugar de a http://www.example.com/projects/pdfs/project-brief.pdf
.
Por supuesto, la ubicación del archivo pdfs/project-brief.pdf
y del directorio pdfs
no cambian de repente cuando mueves el archivo index.html
; esto hará que tus enlaces apunten a un sitio equivocado y no funcionarán correctamente al hacer clic en ellos. ¡Por lo tanto debes tener cuidado!
Hay algunas buenas prácticas que debemos respetar cuando escribimos enlaces. Veamos cuáles son.
Es fácil rellenar de enlaces una página, sin más. Pero esto no basta. Hay que lograr que nuestros enlaces sean accesibles para todo tipo de lectores, sin importar el contexto o las herramientas que prefieran. Por ejemplo:
Veamos un ejemplo concreto:
Buen texto en un enlace: Descargar Firefox
<p><a href="https://firefox.com/"> Descargar Firefox </a></p>
Mal texto en un enlace: Pulsar aquí para descargar Firefox
<p><a href="https://firefox.com/"> Haz clic aquí </a> para descargar Firefox</p>
Otras indicaciones:
A partir de las indicaciones anteriores podemos llegar a pensar que es mejor utilizar referencias absolutas en todos los casos; después de todo, estas no se rompen cuando la página se traslada como ocurre con las referencias relativas. Sin embargo, debes utilizar enlaces relativos siempre que sea posible cuando enlaces a otras ubicaciones dentro del mismo sitio web. Cuando vinculas a otro sitio web, deberás utilizar un vínculo absoluto.
Cuando damos referencias a recursos para descargarlos (como documentos en formato PDF o Word) o para reproducirlos (como archivos de audio o vídeo) o que tengan un efecto inesperado (una ventana emergente) hay que indicarlo para no confundir al usuario.
Por ejemplo:
Veamos algunos ejemplos, para ver qué texto puede ser aconsejable en estos casos:
<p><a href="http://www.example.com/large-report.pdf"> Descarga el informe de ventas (PDF, 10MB) </a></p> <p><a href="http://www.example.com/video-stream/"> Reproduce el vídeo (el flujo de datos se abre en una pestaña independiente, calidad HD) </a></p> <p><a href="http://www.example.com/car-game"> Juega al juego del automóvil (requiere Flash) </a></p>
download
al enlazar una descargaSi queremos hacer referencia a una descarga en lugar de a algo que abra el navegador, disponemos del atributo download
para proporcionar un nombre predeterminado al archivo a guardar. Veamos un ejemplo con un enlace a la descarga de la versión para Windows de Firefox:
<a href="https://download.mozilla.org/?product=firefox-latest-ssl&os=win64&lang=es-MX" download="firefox-latest-64bit-installer.exe"> Descarga la última versión de Firefox para Windows (64 bits) (Español, es-MX) </a>
Para este ejercicio, deberás crear lo que se conoce como web multipágina: un menú de navegación con enlaces a distintas páginas. Esta es una manera común de crear páginas web — usamos la misma estructura en todas las páginas, incluida la que contiene el menú de navegación. Cuando los usuarios pulsen los enlaces tendrán la sensación de que están en la misma página y que solo cambia el contenido mostrado.
Tendrás que hacer copias locales, en el mismo directorio, de las cuatro siguientes páginas (revisa el directorio navigation-menu-start para el listado completo):
A continuación:
El ejercicio terminado debería crear una página como la siguiente:
Nota: Si ahora encallas, o no estás seguro de haberlo conseguido, revisa el directorio navigation-menu-marked-up para ver la respuesta correcta.
Es posible crear enlaces o botones que, cuando se pulsan, abren un nuevo correo saliente en lugar de enlazar a un recurso o página. Esto se consigue con el elemento ancla {{HTMLElement("a")}} y el elemento mailto:
seguido del esquema de la URL.
En su forma más básica, un enlace mailto:
simplemente contiene la dirección de correo electrónico de los destinatarios. Por ejemplo:
<a href="mailto:nowhere@mozilla.org">Enviar correo electrónico a ninguna parte</a>
Esto da como resultado un enlace que se ve así: Enviar correo electrónico a ninguna parte.
De hecho, incluso el atributo con la dirección de correo electrónico es opcional. Si lo omites y tu ({{HTMLAttrxRef("href", "a")}} simplemente es "mailto:", aparecerá una nueva ventana de correo saliente en el gestor de correo sin la dirección del destinatario. Esto es útil cuando queremos compartir enlaces que los usuarios puedan pulsar para enviar un correo electrónico y elegir un destinatario posteriormente.
Además de la dirección de correo electrónico, puedes proporcionar otra información. De hecho, puedes incluir cualquier campo estándar contenido en el encabezado de cualquier mensaje en la URL mailto
que proporciones. Los más utilizados son el «subject
» (asunto), «cc
» (con copia a) o «bcc
» (copia oculta), y «body
» (cuerpo del mensaje, que no es realmente un campo de la cabecera, pero permite especificar un mensaje breve para el nuevo correo electrónico). Cada campo y su valor se especifican como un argumento de la consulta.
Veamos un ejemplo que incluye estos campos:
<a href="mailto:nowhere@mozilla.org?cc=name2@rapidtables.com&bcc=name3@rapidtables.com&subject=The%20subject%20of%20the%20email&body=The%20body%20of%20the%20email"> Enviar un correo electrónico cc, bcc, asunto y cuerpo </a>
Nota: Los valores de cada campo deben tener la URL codificada, es decir, sin caracteres no imprimibles (caracteres invisibles, tabulaciones, retornos de carro y saltos de página) y espacios con codificación porcentual (%20) {{Interwiki("wikipedia", "Código porciento")}}. También hay que tener en cuenta el uso del signo de interrogación (?) para separar la URL principal de los valores de los campos, y el símbolo ampersand (&) para separar cada campo dentro del enlace mailto:
. Esta es la notación de consulta URL estándar. Lee {{web.link("/es/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data#The_GET_method", "el método GET")}} para comprender mejor qué notación de consulta URL se usa comúnmente.
A continuación otros ejemplos de utilización de enlaces mailto
:
Has llegado al final de este artículo, pero ¿puedes recordar la información más importante? Encuentra más ejercicios con los que comprobar que has retenido esta información antes de seguir adelante; consulta {{web.link("/es/docs/Learn/HTML/Introduction_to_HTML/Test_your_skills:_Links", "Pon a prueba tus habilidades: Enlaces")}}.
Eso es todo en cuanto a enlaces, ¡por ahora! Volveremos a ellos más tarde en este curso cuando comencemos a usar estilos. Lo siguiente en HTML, será aprender la semántica de texto para usar algunas características avanzadas/inusuales que nos serán utilidad — Formato de texto avanzado será la próxima parada.
{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "Learn/HTML/Introduction_to_HTML/Advanced_text_formatting", "Learn/HTML/Introduction_to_HTML")}}