html5 - regresa - ¿Se permite usar<link>(not rel="stylesheet") en<body>?
uber cancun noticias (5)
Como lo notaron los otros, <link>
se puede usar en el cuerpo, pero solo algunas veces. En esos casos se lo conoce como "cuerpo-ok". Aquí hay una lista de los tipos de enlaces que son body-ok: https://html.spec.whatwg.org/multipage/links.html#body-ok
A partir del 20 de junio de 2018, se puede utilizar lo siguiente en el cuerpo:
<body>
<link rel="dns-prefetch">
<link rel="modulepreload">
<link rel="pingback">
<link rel="preconnect">
<link rel="prefetch">
<link rel="preload">
<link rel="prerender">
<link rel="stylesheet">
</body>
El nuevo schema.org de Google, Yahoo y MS recomienda el uso del atributo <link>
para mostrar el estado de los productos en una tienda en línea:
<div itemscope itemtype="http://schema.org/Offer">
<span itemprop="name">Blend-O-Matic</span>
<span itemprop="price">$19.95</span>
<link itemprop="availability" href="http://schema.org/InStock"/>Available today!
</div>
Sin embargo, de acuerdo con w3schools.org <link>
solo está permitido en secciones principales:
Nota: Este elemento va solo en la sección principal, pero puede aparecer varias veces.
No estoy acostumbrado al estilo W3C, así que no pude entender la definición exacta del W3C . ¿Alguien puede ayudarme? ¿Se puede usar realmente <link>
en el cuerpo (en HTML5, ya que schema.org usa etiquetas HTML5) o Google, Yahoo y MS rompen el estándar?
El enlace está permitido en BODY. Tuve el mismo problema al validar la etiqueta de enlace en HTML5 y lo resolví con esto
<link rel="stylesheet" property="stylesheet" href="css/homepage.css">
Necesita tener property
y etiqueta rel
ACTUALIZACIÓN 2016 (gracias a yuyokk a continuación): Hubo un cambio en las especificaciones HTML5 recientemente que permite tener enlaces en el cuerpo
Hubo un cambio en las especificaciones de HTML5 recientemente que permite tener enlaces en el cuerpo
La especificación WHATWG HTML menciona que el elemento LINK
puede tener un rel
:
<link rel="…" />
o un atributo itemprop
<link itemprop="…" />
pero no ambos.
La versión- rel
se restringe al elemento HEAD
, mientras que la versión itemprop
puede aparecer en ambos elementos, HEAD
y BODY
.
http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-link-element
¿Cuál es esta especificación WHATWG?
whatwg.org/specs/web-apps/current-work/multipage/introduction.html#is-this-html5?
Me gustaría agregar a las respuestas anteriores, en resumen
<body>
<link rel="stylesheet" property="stylesheet" href="pathto.css">
</body>
está haciendo desaparecer el error de validación Incluso basta con agregar el atributo property=""
(sintaxis RDFa o itemprop=""
(sintaxis Microformat). Como @Jukka K. Korpela y @sideshowbarker explican en sus respuestas, la razón radica en la especificación HTML5 + RDFa 1.1 .
La solución anterior es básicamente una solución alternativa para que el validador ignore las hojas de estilo en línea según sea necesario en las implementaciones de rutas críticas. En futuras versiones de validadores, con suerte se volverá obsoleto.
Por cierto, en HTML5 no necesita un atributo de type
ni una sintaxis de etiqueta de cierre automático .