Pregunta HTML 5: ¿es
,
, o
?


He intentado verificar Otras respuestas, pero todavía estoy confundido, especialmente después de ver Referencia de W3schools HTML 5.

Pensé que se suponía que HTML 4.01 "permitía" que las etiquetas individuales solo se <img> y <br>. Entonces apareció XHTML <img /> y <br /> (donde alguien dijo que el espacio está ahí para navegadores más antiguos)

Ahora me pregunto cómo se supone que debo formatear mi código cuando practico HTML 5.

<!DOCTYPE HTML>

Lo es <br>, <br/> o <br />?


1685
2017-12-22 13:39


origen


Respuestas:


Simplemente <br> es suficiente.

Las otras formas existen para compatibilidad con XHTML; para que sea posible escribir el mismo código que XHTML, y que también funcione como HTML. Algunos sistemas que generan HTML pueden estar basados ​​en generadores XML, y por lo tanto no tienen la capacidad de generar solo <br> etiqueta; si estás usando un sistema así, está bien usar <br/>, simplemente no es necesario si no necesitas hacerlo.

Sin embargo, muy pocas personas realmente usan XHTML. Debes servir tu contenido como application/xhtml+xml para que se interprete como XHTML, y eso no funcionará en versiones anteriores de IE; también significará que cualquier pequeño error que hagas evitará que tu página se muestre en navegadores compatibles con XHTML. Por lo tanto, la mayor parte de lo que parece ser XHTML en la web se está sirviendo e interpretando como HTML. Ver Sirviendo XHTML como texto / html Considerado dañino para más información.


1289
2017-12-22 13:42



Creo que esta cita de la Borrador de referencia HTML 5 proporciona la respuesta:

Algunos elementos, sin embargo, están prohibidos   de contener cualquier contenido en absoluto.   Estos se conocen como elementos vacíos. En   HTML, la sintaxis anterior no se puede usar   para elementos vacíos. Para tales elementos,   la etiqueta final debe ser omitida porque   el elemento se cierra automáticamente   el analizador. Tales elementos incluyen,   entre otros, br, hr, link y meta

Ejemplo de HTML:

<link type="text/css" rel="stylesheet" href="style.css">

En XHTML, la sintaxis XML   los requisitos dictan que esto debe ser   hecho explícito utilizando un explícito   etiqueta final, como arriba, o la etiqueta vacía   sintaxis del elemento Esto se logra por   insertando una barra al final del   comience la etiqueta inmediatamente antes de la derecha   soporte angular

Ejemplo:

<link type="text/css" href="style.css"/>

Los autores pueden elegir opcionalmente usar   esta misma sintaxis para elementos vacíos en   la sintaxis HTML también. Algunos autores   también elige incluir espacios en blanco   antes del corte, sin embargo esto no es   necesario. (Usando espacios en blanco en ese   la moda es una convención heredada de   las pautas de compatibilidad en XHTML   1.0, Apéndice C.)


195
2017-12-22 13:44



XML no permite dejar etiquetas abiertas, por lo que hace <br> un poco peor que los otros dos. Los otros dos son aproximadamente equivalentes y el segundo preferido para la compatibilidad con los navegadores más antiguos. En realidad, espacio antes / es preferible por compatibilidad, pero creo que solo tiene sentido para las etiquetas que tienen atributos. Entonces yo diría <br/> o <br />, lo que le plazca a su estética.

Para resumir: los tres son válidos, y el primero es un poco menos "portátil".

Editar: Ahora que estamos todos locos por las especificaciones, creo que vale la pena señalar que de acuerdo dev.w3.org:

Las etiquetas de inicio consisten en lo siguiente   partes, exactamente en el siguiente orden:

  1. Un caracter "<".
  2. El nombre de la etiqueta del elemento.
  3. Opcionalmente, uno o más atributos, cada uno de los cuales debe ser   precedido por uno o más espacios   caracteres.
  4. Opcionalmente, uno o más caracteres espaciales.
  5. Opcionalmente, un carácter "/", que puede estar presente solo si el   elemento es un elemento vacío.
  6. Un caracter ">"

119
2017-12-22 13:42



En HTML (hasta HTML 4): utilizar <br>

En HTML 5: <br> es preferido, pero <br/> y <br /> también es aceptable

En XHTML: <br /> se prefiere. También puede usar <br/> o <br></br>

Notas:

  • <br></br> no es válido en HTML 5, se considerará como dos saltos de línea.
  • XHTML distingue entre mayúsculas y minúsculas, HTML no distingue mayúsculas de minúsculas.
  • Para compatibilidad con versiones anteriores, algunos navegadores antiguos analizarían XHTML como HTML y fallarían <br/> pero no <br />

Referencia:


88
2017-12-30 05:40



De acuerdo con la especulación la forma esperada es <br> para HTML 5, pero se permite una barra de cierre.


52
2017-12-22 13:44



XML requiere que todas las etiquetas tengan una etiqueta de cierre correspondiente. Por lo tanto, existe una sintaxis especial abreviada para las etiquetas sin contenido interno.

HTML5 no es XML, por lo que no debería ser un requisito. Ninguno de los dos es HTML 4.01.

Por ejemplo, en Especificaciones de HTML5, todos los ejemplos con br uso de etiqueta <br> sintaxis, no <br/>.

UPD Actualmente, <br/> es permitido en HTML5. 9.1.2.1, 7.


19
2017-12-22 13:48



Recomendaría usar <br /> por las siguientes razones:

1) Los editores de texto y XML que resaltan la sintaxis XML en diferentes colores se resaltarán correctamente con <br />, pero este no es siempre el caso si usa <br> <br>

2) <br /> es compatible con versiones anteriores de XHTML y HTML bien formado (es decir: XHTML) a menudo es más fácil de validar para errores y depuración

3) Algunos analizadores antiguos y algunas especificaciones de codificación requieren el espacio antes de la barra diagonal de cierre (es decir: <br /> en lugar de <br/>) como la especificación de codificación del complemento de WordPress: http://make.wordpress.org/core/handbook/coding-standards/html/

En mi experiencia, nunca he encontrado un caso en el que usar <br /> sea problemático, sin embargo, hay muchos casos en los que <br/> o especialmente <br> podrían ser problemáticos en navegadores y herramientas más antiguos.


13
2018-01-16 17:43



Ambos <br> y <br /> son aceptables en HTML5, pero en el espíritu de HTML, <br> debería ser usado. HTML5 permite el cierre de barras para ser más compatible con documentos que anteriormente eran HTML 4.01 y XHTML 1.0, lo que permite una migración más fácil a HTML5. Por supuesto, <br/> también es aceptable, pero para ser compatible con algunos navegadores más antiguos, debe haber un espacio antes de la barra de cierre (/)


11
2018-04-21 18:50



Si le interesa la comparabilidad (no la compatibilidad, sino la comparabilidad), entonces me quedaría con <br />.

De otra manera, <br> está bien.


11
2017-12-22 13:45



  1. Si está produciendo HTML en un sitio web normal, puede usar <br>  o  <br/>, ambos son válidos cada vez que sirve HTML5 como texto / html.

  2. Si está publicando HTML5 como XHTML (es decir, tipo de contenido application / xhtml + xml, con una declaración XML), debe usar una etiqueta de cierre automático como esta: <br/>.

    Si no lo hace, algunos navegadores pueden negarse a renderizar su página (Firefox en particular es muy estricto sobre la representación solo de páginas xhtml + xml válidas).

    Como se señaló en 1. <br/> también es válido para HTML5 que se genera como XML pero que se sirve como un texto / html regular sin una declaración XML (como una Transformada XSL que genera páginas web, o algo similar).

Para aclarar la confusión: no es necesario poner un espacio antes de la barra en HTML5 y no hace ninguna diferencia en cómo se representa la página (si alguien puede citar un ejemplo, me retractaré de esto, pero no creo que sea cierto - pero IE ciertamente hace muchas otras cosas raras con todas las formas de <br> etiquetas).

El validador excelente en http://validator.w3.org es realmente útil para verificar qué es válido (aunque no estoy seguro de que pueda confiar en él para verificar también el tipo de contenido).


9
2018-01-28 16:44