--- title: link slug: Web/HTML/Element/link tags: - HTML - HTML:Elemento - Metadatos - Metadatos de documento HTML - Referencia - Todas_las_Categorías - Web translation_of: Web/HTML/Element/link original_slug: Web/HTML/Elemento/link ---

{{HTMLRef}}

El elemento HTML <link> especifica la relación entre el documento actual y un recurso externo. Los usos posibles de este elemento incluyen la definición de un marco relacional para navegación. Este elemento es más frecuentemente usado para enlazar hojas de estilos.

El atributo {{htmlattrxref("rel", "link")}} puede ser establecido con muchos valores diferentes. Estos se encuentran listados en una página separada.

Categorías de contenido Contenido en metadatos. Si {{htmlattrxref("itemprop", "link")}} está presente: contenido dinámico y contenido textual o estático
Contenido permitido Ninguno, es un {{Glossary("empty element", "elemento vacío")}}.
Omisión de etiqueta Siendo un elemento vacío, la etiqueta de inicio debe estar presente y la etiqueta de cierre no debe estarlo
Elementos padre permitidos Cualquier elemento que acepte elementos de metadatos. Si está presente el atributo {{htmlattrxref("itemprop", "link")}}: cualquier elemento que acepte contenido textual o estático.
Interfaz DOM {{domxref("HTMLLinkElement")}}

Atributos

Este elemento incluye los atributos globales.

{{htmlattrdef("charset")}}{{obsolete_inline}}
Este atributo define la codificación de caracteres del recurso enlazado. El valor es un espacio y/o una lista de grupos de caracteres según se define en {{rfc(2045)}}, separados por coma. El valor predeterminado es iso-8859-1.
Nota de uso: Este atributo es obsoleto y no debe ser usado por autores. Para conseguir su mismo efecto, se recomienda usar el encabezado HTTP Content-Type en el recurso enlazado.
{{htmlattrdef("crossorigin")}}
Este atributo enumerado indica si se debe usar CORS cuando se solicite una imagen relacionada. Las imágenes con CORS habilitado pueden ser reutilizadas en el elemento {{HTMLElement("canvas")}} sin que estén corruptas.Los valores permitidos son:
"anonymous"
Una solicitud a un origen cruzado (esto es, con el encabezado HTTP Origin:) es realizada, pero no se envían credenciales (es decir, no se envían cookies, ni certificado X.509, ni datos de autenticación básica HTTP). Si el servidor no otorga credenciales al sitio de origen (por no enviar el encabezado HTTP Access-Control-Allow-Origin:) la imagen estará corrupta, y su uso estará restringido.
"use-credentials"
Una solicitud a un origen cruzado (esto es, con el encabezado HTTP Origin:) es realizada, enviando credenciales (es decir, se envían cookies, certificado y autenticación básica HTTP). Si el servidor no otorga credenciales al sitio de origen (a través del encabezado HTTP Access-Control-Allow-Credentials:), la imagen estará corrupta, y su uso estará restringido.
Si no está presente, el recurso es obtenido sin una solicitud CORS (sin enviar el encabezado HTTP Origin:), previniendo así su uso no corrupto en elementos {{HTMLElement('canvas')}}. Si se introduce un valor no permitido, se maneja como si usara el valor anonymous. Véase atributos de configuración CORS para más información.
{{htmlattrdef("disabled")}} {{Non-standard_inline}}
Este atributo es usado para deshabilitar una relación de enlace. Agregando programación, este atributo puede ser usado para habilitar o deshabilitar la relación con distintas hojas de estilos.

Nota: Aunque no hay atributo disabled en el estándar de HTML,  hay un atributo disabled en el objeto DOM HTMLLinkElement.

El uso de disabled como atributo HTML no es estándar, y solo puede ser usado en algunos navegadores (W3 #27677). No debe usarse. Para lograr un efecto similar, se puede usar una de las siguientes técnicas:

  • Si el atributo disabled fue añadido directamente al elemento en la página, no incluya el elemento {{HTMLElement("link")}} en vez de eso;
  • Establezca la propiedad disabled del objeto DOM StyleSheet vía programación.
{{htmlattrdef("href")}}
Este atributo especifica la {{glossary("URL")}} del recurso enlazado. La URL debe ser absoluta o relativa.
{{htmlattrdef("hreflang")}}
Este atributo indica el idioma del recurso enlazado. Es meramente informativo. Los valores permitidos son determinados por la BCP47. Se recomienda usar este atributo solamente si el atributo {{htmlattrxref("href", "a")}} está presente.
{{htmlattrdef("integrity")}} {{experimental_inline}}
Contiene metadatos en línea, el valor criptográfico codificado a base 64 de un recurso (archivo) que se le está indicando al navegador que obtenga, el cual puede ser utilizado por el agente usuario para verificar si el recurso obtenido ha sido entregado libre de manipulaciones inesperadas. Véase Integridad de subrecursos.
{{htmlattrdef("media")}}
Este atributo especifica el tipo de medio al que aplica el recurso enlazado. Su valor debe ser un media query. Este atributo es usado principalmente cuando se enlaza a una hoja de esetilos externa en la que se le permita al agenete usuario seleccionar la que mejor se adapte al dispositivo sobre el que se ejecuta.
Notas de uso:
  • En HTML 4, esto puede ser solamente una lista simple de literales de medios separadas por espacio, es decir, tipos de medios y grupos, donde se definían valores para este atributo, tales como print, screen, aural, braille. HTML5 extiende esto a cualquier clase de media queries, los cuales son un superconjunto de los valores permitidos de HTML 4.
  • Los navegadores que no soporten los Media Queries de CSS3 no necesariamente reconocerán el enlace adecuado; no olvide establecer enlaces de fallback, usando los conjuntos de media queriese definidos en HTML 4.
{{htmlattrdef("methods")}} {{Non-standard_inline}}
El valor de este atributo provee información acerca de las funciones que podrían ser ejecutadas en un objeto. Los valores son generalmente indicados por el protocolo HTTP cuando se usa, pero podrían (por razones similares a las del atributo title) ser usados para incluir información de ayuda por adelantado en el enlace. Por ejemplo, el navegador podría elegir una representación diferente de un enlace como una función de los métodos especificados; algo que es buscable podría tener un ícono diferente, o un enlace externo podría dibujar una indicación de que se dejará el sitio actual. Este atributo no está bien comprendido, ni soportado, aun por el navegador en el que se definió, Internet Explorer 4. Véase Propiedades de métodos (MSDN).
{{htmlattrdef("referrerpolicy")}} {{experimental_inline}}
Una cadena de texto que indica el referente a usar cuando se obtenga el recurso:
{{htmlattrdef("rel")}}
Este atributo indica la relación del documento enlazado con el actual. El atributo debe ser una lista de tipos de enlaces separados por espacio. El uso más común para este atributo es especificar el enlace a una hoja de estilos externa: el atributo rel se establece con valor stylesheet, y el atributo href se establece con la URL de la hoja de estilos externa para dar formato a la página. WebTV también soporta el uso del valor next en rel para precargar la siguiente página en una serie de documentos.
{{htmlattrdef("rev")}}{{obsolete_inline}}
El valor de este atributo muestra la relación del documento actual al documento enlazado, como se define en el atributo {{htmlattrxref("href", "link")}}. En consecuencia, este atributo define la relación inversa, en comparación al valor del atributo rel. Los tipos de enlace para este atributo son similares a los disponibles para {{htmlattrxref("rel", "link")}}.
Notas de uso: Este atributo es obsoleto en HTML5. No debe usarse. Para lograr este efecto, use el atributo {{htmlattrxref("rel", "link")}} con el tipo de enlace contrario, por ejemplo, made debe reemplazar a author. Además, este atributo no significa revision y no debe ser usado con un número de versión, que es desafortunadamente el caso de muchos sitios.
{{htmlattrdef("sizes")}}
Este atributo define los tamaños de los íconos para medios visuales contenidos en el recurso. Debe estar presente solo si el atributo {{htmlattrxref("rel","link")}} contiene el tipo de enlace icon. Puede tener los siguientes valores:
Notas de uso:
  • La mayoría de los formatos de ícono solo permiten almacenar un ícono; por lo que la mayoría de las ocasiones, el atributo {{htmlattrxref("sizes")}} contiene solamente una entrada. El formato ICO de Microsoft lo hace, así como el formato ICN de Apple. Siendo ICO más común, es el que se recomienda usar.
  • iOS de Apple no soporta este atributo, por lo que iPhone y iPad de Apple usan tipos de enlaces especiales, no estándares, para definir los íconos a usar como Web Clip o contenedor de inicio: apple-touch-icon y apple-touch-startup-icon.
{{htmlattrdef("target")}}{{Non-standard_inline}}
Define el nombre del frame o ventana que tendrá la relación de enlace o que mostrará la representación de algun recurso enlazado.
{{htmlattrdef("title")}}
El atributo title tiene semántica particular para el elemento <link>. Cuando se usa en una etiqueta <link rel="stylesheet">, define una hoja de estilos preferida o alternativa. El uso incorrecto de este atributo podría provocar que la hoja de estilos sea ignorada.
{{htmlattrdef("type")}}
Este atributo es usado para definir el tipo de contenido al que se enlaza. El valor del atributo debe ser un tipo MIME, como text/html, text/css. El uso común de este atributo es para definir el tipo de hoja de estilos enlazada, y el valor más común es text/css, el cual indica un formato de Hoja de Estilos en Cascada.

Ejemplos

Incluyendo una hoja de estilos

Para incluir una hoja de estilos en una página, use la siguiente sintaxis:

<link href="style.css" rel="stylesheet">

Proporcionando hojas de estilos alternativas

También se pueden especificar hojas de estilos alternativas.

El usuario puede elegir cuál hoja de estilos usar, seleccionándola desde el menú Ver > Estilo de Página. Esto proporciona una manera en que los usuarios pueden ver múltiples versiones de una misma página.

<link href="default.css" rel="stylesheet" title="Default Style">
<link href="fancy.css" rel="alternate stylesheet" title="Fancy">
<link href="basic.css" rel="alternate stylesheet" title="Basic">

Eventos de carga de hojas de estilos

Se puede determinar cuando una hoja de estilos fue cargada estableciendo la ejecución de un evento load en el elemento; de forma similar, se puede detectar si ocurrió un error al procesar una hoja de estilos, observando el evento error:

<script>
function sheetLoaded() {
  // Hacer algo interesante; la hoja de estilos ha sido cargada
}

function sheetError() {
  alert("¡Ocurrió un error al cargar la hoja de estilos!");
}
</script>

<link rel="stylesheet" href="mystylesheet.css" onload="sheetLoaded()" onerror="sheetError()">
Nota: El evento load se dispara una vez que la hoja de estilos y todo su contenido importado ha sido cargado y procesado, e inmediatamente antes de que los estilos sean aplicados al contenido.

Notas

Especificaciones

Especificación Estatus Comentarios
{{SpecName('Subresource Integrity', '#htmlscriptelement', '<script>')}} {{Spec2('Subresource Integrity')}} Se añade el atributo integrity.
{{SpecName('HTML WHATWG', 'semantics.html#the-link-element', '<link>')}} {{Spec2('HTML WHATWG')}} No hay cambios desde la versión anterior
{{SpecName('HTML5 W3C', 'document-metadata.html#the-link-element', '<link>')}} {{Spec2('HTML5 W3C')}} Se añaden los atributos crossorigin y sizes; valores extendidos para media para cualquier media query; se añaden numerosos valores para rel.
{{SpecName('HTML4.01', 'struct/links.html#h-12.3', '<link>')}} {{Spec2('HTML4.01')}}  

Compatibilidad de navegadores

{{CompatibilityTable}}
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 1.0 {{CompatGeckoDesktop("1.0")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Hojas de estilos alternativas {{CompatUnknown}} {{CompatGeckoDesktop("1.9")}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}}
Atributo disabled {{Non-standard_inline}} {{CompatNo}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatNo}}
Atributo methods {{Non-standard_inline}} {{CompatNo}} {{CompatNo}} 4.0 {{CompatNo}} {{CompatNo}}
Atributo sizes {{CompatNo}} {{CompatNo}} {{bug("441770")}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Eventos load y error

19 (Webkit: 535.23)

({{webkitbug(38995)}})

{{CompatGeckoDesktop("9.0")}} {{CompatUnknown}} 11.60 {{CompatUnknown}}
Atributo crossorigin {{CompatChrome("25")}} {{CompatGeckoDesktop("18.0")}} {{CompatUnknown}} {{CompatOpera("15")}} {{CompatUnknown}}
Atributo integrity {{CompatChrome(45.0)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatNo}}[1]
Atributo referrerpolicy {{CompatUnknown}} {{CompatGeckoDesktop("50.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Característica Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Soporte básico {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatGeckoMobile("1.0")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Hojas de estilos alternativas {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile("2.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Atributo disabled {{Non-standard_inline}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}} {{CompatNo}} {{CompatUnknown}}
Atributo methods {{Non-standard_inline}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}} 4.0 {{CompatNo}} {{CompatNo}} {{CompatUnknown}}
Atributo sizes {{CompatNo}} {{CompatUnknown}} {{CompatNo}} {{bug("441770")}} {{CompatNo}} {{CompatNo}} {{CompatNo}} {{CompatUnknown}}
Eventos load y error {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile("9.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Atributo crossorigin {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile("18.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Atributo integrity {{CompatNo}} {{CompatChrome(45.0)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatChrome(45.0)}}
Atributo referrerpolicy {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile("50.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}  

[1] {{WebKitBug(148363)}} da seguimiento a la implementación en Webkit de Integridad de Subrecursos (lo cual incluye el atributo integrity).

Véase también