2011-01-14 19 views
29

Paso 6 de 8.1.2.1 etiquetas de inicio de la especificación HTML5 dice que void elements puede tener un único / carácter. Creo que es así, es más fácil migrar los sitios que son XHTML a HTML5.etiquetas de cierre automático (elementos perdidos) en HTML5

¿Cuál es la mejor práctica?

P. ej., Si estoy creando un sitio web con HTML5 (<!DOCTYPE html>), ¿qué debo hacer?

  1. sin la barra

    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    
  2. con la barra

    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    

Si ambos representan correctamente en todos los navegadores, entonces yo estoy asumiendo (1) sin la barra es el camino a seguir, ya que es más HTML5.

+5

Así como un recordatorio ... en HTML5 puede reemplazar esa gran meta para esta declaración.: '' (es una abreviatura solo para este propósito y es un equivalente válido) –

Respuesta

21

Hay no hay consenso sobre las mejores prácticas, y de acuerdo con el autor de la especificación, Ian Hickson, no importa.

+1

¿Tiene un enlace a algo que indique esta postura de Ian Hickson? – commadelimited

+3

http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006-December/008235.html y http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006 -Diciembre/008312.html y ver también otras respuestas en este hilo. – Gaurav

+1

Ambos son válidos (para HTML, no XHTML) y agregar/solo agrega más caracteres para descargar. –

16

Casi todo depende de si quiere ir a la ruta XML o no. Ambos deben mostrarse correctamente, ya que las especificaciones HTML5 no requieren etiquetas de cierre automático; su única razón es que el documento es válido en XML.

La manera más fácil es probablemente acaba de escribir a continuación, sin la auto-cierre "/", a menos que haya una necesidad específica para obtener el marcado analizado como XML - en este caso también es necesario

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > 
+0

Solo para aclarar. En "en ese caso", quiere decir XML. – ma11hew28

+0

Sí. XML requiere un espacio de nombre y eso le da al documento HTML un espacio de nombres XML. – Shadikka

15

Cerrar la etiqueta con una barra inclinada es una manera más explícita de indicar que no está destinado a tener una etiqueta de cierre.

12

Google sugiere en su style guide: no cierre elementos nulos.

HTML5 (sintaxis HTML) es el preferido para todos los documentos HTML ... Aunque bien con HTML, no cierre los elementos vacíos

Personalmente me he acostumbrado a las etiquetas de cierre con una barra, y encontrar que /> me ayuda a reconocer que la etiqueta no tendrá una etiqueta de cierre.

+2

En cuanto a su oración final, no tendrá una etiqueta de cierre porque es un elemento nulo. La barra inclinada es confusa para html newbies como yo porque su presencia sugiere que la barra corta el elemento. – Tom

+3

Creo que la etiqueta de cierre puede ser útil para identificar elementos vacíos (vea la respuesta de @ nbsp). Puede ser confuso al principio para los novatos, pero es una sintaxis importante de saber porque es probable que termine viéndolo algún día si/cuando tiene que trabajar con XML o XHTML. – Luke

Cuestiones relacionadas