HTML 5: ¿Es,, o?


He intentado comprobar otras respuestas, pero todavía estoy confundido especially especialmente después de ver W3schools HTML 5 referencia.

Pensé que se suponía que HTML 4.01 "permitiría" que las etiquetas simples solo fueran <img> y <br>. Entonces XHTML vino junto con <img /> y <br /> (donde alguien dijo que el espacio está ahí para los navegadores más antiguos ).

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

<!DOCTYPE HTML>

Es <br>, <br/> o <br />?

 1724
Author: BoltClock, 2009-12-22

24 answers

Simplemente <br> es suficiente.

Las otras formas están ahí para la compatibilidad con XHTML; para hacer posible escribir el mismo código que XHTML, y hacer 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 una etiqueta simple <br>; si está utilizando un sistema de este tipo, está bien usar <br/>, simplemente no es necesario si no necesita hacerlo.

Sin embargo, muy pocas personas realmente usan XHTML. Necesitas servir su contenido como application/xhtml+xml para que se interprete como XHTML, y eso no funcionará en versiones antiguas de IE - también significará que cualquier pequeño error que realice evitará que su página se muestre en navegadores que admiten XHTML. Por lo tanto, la mayor parte de lo que parece XHTML en la web está siendo servido, e interpretado, como HTML. Ver Servir XHTML como texto/html Considerado Dañino para más información.

 1316
Author: Brian Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-19 11:40:22

Creo que esta cita del HTML 5 Reference Draft proporciona la respuesta:

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

HTML Ejemplo:

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

En XHTML, la sintaxis XML los requisitos dictan que esto debe ser explicito usando ya sea una explicita etiqueta final, como la anterior, o el vacío sintaxis de elementos. Esto se logra mediante insertando una barra al final del iniciar etiqueta inmediatamente antes de la derecha soporte de ángulo.

Ejemplo:

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

Los autores pueden optar por utilizar esta misma sintaxis para los elementos void en la sintaxis HTML también. Algunos autores también elija incluir espacios en blanco antes de la slash, sin embargo esto no es necesario. (Usando espacios en blanco en eso la moda es una convención heredada de las directrices de compatibilidad en XHTML 1.0, Apéndice C.)

 197
Author: Daan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-22 13:44:51

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

Para resumir: los tres son válidos con el primero siendo un poco menos "portátil".

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

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

  1. Un carácter"
  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 caracter.
  4. Opcionalmente, uno o más espacios caracter.
  5. Opcionalmente, un carácter"/", que puede estar presente solo si el el elemento es un elemento vacío.
  6. Un carácter">".
 122
Author: Michael Krelin - hacker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-22 22:37:31

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

En HTML 5: <br> se prefiere, 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 entre mayúsculas y minúsculas.
  • Para la compatibilidad con versiones anteriores, algunos navegadores antiguos analizarían XHTML como HTML y falla en <br/> pero no <br />

Referencia:

 92
Author: JackDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-12 05:15:17

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

 52
Author: tvanfosson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-11 12:49:41

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

HTML5 no es XML, por lo que no debería plantear tal requisito. Tampoco lo es HTML 4.01.

Por ejemplo, en las especificaciones HTML5, todos los ejemplos con la etiqueta br usan la sintaxis <br>, no <br/>.

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

 19
Author: sastanin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-22 13:58:10

Recomendaría usar
por las siguientes razones:

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

2)
es compatible con versiones anteriores con XHTML y HTML bien formado (es decir: XHTML) a menudo es más fácil de validar para errores y depurar

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

En mi experiencia, nunca me he encontrado con un caso en el que usar
sea problemático, sin embargo, hay muchos casos en los que
o especialmente
podría ser problemático en navegadores y herramientas más antiguos.

 13
Author: Kmeixner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-16 17:43:42

Tanto <br> como <br /> son aceptables en HTML5, pero en el espíritu de HTML, se debe usar <br>. HTML5 permite cerrar 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
Author: mc10,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-21 18:50:02

Si estás interesado en la comparabilidad (no en la compatibilidad, sino en la comparabilidad), entonces me quedaría con <br />.

De lo contrario, <br> está bien.

 11
Author: MindStalker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-22 09:18:23
  1. Si está publicando HTML en un sitio web normal, puede usar <br> o <br/>, ambos son válidos en cualquier momento que esté sirviendo HTML5 como texto/html.

  2. Si está sirviendo HTML5 como XHTML (es decir, content type 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 el renderizado solo páginas xhtml+xml válidas).

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

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

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

 9
Author: Iain Collins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-20 22:46:06

Tanto <br> como <br/> estarán bien, pero prefiero <br/> porque es un poco más lógico. Es lógico esperar una etiqueta de cierre siempre que haya una etiqueta de apertura. Por lo tanto, su código es ligeramente más fácil de leer si no utiliza una etiqueta de apertura cuando no va a haber una etiqueta de cierre.

Todos los navegadores (excepto posiblemente algunos muy antiguos que no importan) mostrarán ambos exactamente iguales. Sin embargo, <br> no es compatible con xHTML.

 9
Author: Dan Bray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-28 01:18:55

<br> y <br/> renderizar de manera diferente. Algunos navegadores interpretan <br/> como <br></br> e insertan dos saltos de línea

 6
Author: Samuel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-01 04:27:10

En la validación, de esta pregunta, realmente depende de lo que !DOCTYPE usted está tratando de obtener la verificación a través.

Mi favorito personal es 4.01 Trans donde solo uso el <br/> y borra las advertencias y errores que pueden haber aparecido durante la validación

Strict es una bestia mucho más complicada, ODIA "SHORTTAGS" y literalmente solo quiere el <br></br>

En HTML5 o el "laxo" del mundo del código, realmente no hay una respuesta correcta porque detects every example you put up allí como correcto......

Al final, creo que todo lo que importa is what validation YOU PREFER o the person that you are working for prefers... con el lackadaisical movimiento en el código estricto en html5 estamos viendo algunos CODIFICADORES MUY PEREZOSOS

 4
Author: Slow Poke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-16 16:12:27

En mi humilde opinión, es mejor usar la notación regular (<br />) en lugar de la notación perdonadora (<br>) por las siguientes razones:

Consistencia

En su HTML probablemente hay algún SVG y SVG solo soporta la notación regular (por ejemplo, <rect />).

Hackability

No es un caso que frameworks como React y NativeScript usen una notación XML.
Su código de marcado será más fácil de analizar.

Claridad

El la notación regular es más fácil de leer y entender, incluso a altas horas de la noche.

Especificaciones

Tanto <br> como <br /> son etiquetas HTML válidas.

Conclusión

Si usa un editor de texto completo, configúrelo para usar la notación regular (que se llama XHTML por Emmet).
Por ejemplo, en Visual Studio Code solo tiene que agregar la siguiente línea a su configuración:

"emmet.syntaxProfiles": {"html": "xhtml"}
 3
Author: isar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-18 07:53:31

Bueno, todo lo que sé es que <br /> da un descanso con una línea blanca y <br> solo da un descanso en algunos casos. Esto me sucedió cuando estaba configurando un script IPN (PHP) y enviaba correos electrónicos y revisaba la bandeja de entrada para encontrarlo. No sé por qué, pero solo recibí el mensaje de lucir bien usando ambos <br /> and <br>

Echa un vistazo al correo aquí: http://snag.gy/cLxUa.jpg

Las dos primeras secciones del texto están separadas por <br />, de ahí las líneas de espacios en blanco, las últimas tres filas de texto en el abajo y la última sección está separada por <br> y solo da una nueva fila.

 2
Author: Emanuel Olsson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-30 15:59:53

En HTML <br> y en XHTML <br/>.

Te sugeriré que uses <br/>.

 2
Author: Shubham Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-09 21:36:25

En HTML5 la barra diagonal ya no es necesaria: <br>, <hr>

 2
Author: harold ramos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-08 14:33:35

<br> es suficiente pero en XHTML <br /> se prefiere según el WHATWG y según el W3C.

Para citar Sección 8.1.2.1 de HTML 5.2 Recomendación del W3C, 14 de diciembre de 2017

Las etiquetas de inicio deben tener el siguiente formato:

  1. Después de los atributos, o después del nombre de la etiqueta si no hay atributos, puede haber uno o más caracteres de espacio. (Algunos atributos deben ser seguido de un espacio. Véase §8.1.2.3 Atributos a continuación.)

  2. Entonces, si el elemento es uno de los elementos void, o si el elemento es un elemento extraño, entonces puede haber un solo carácter SOLIDUS U+002F (/). Este carácter no tiene ningún efecto en los elementos vacíos, pero en los elementos extraños marca la etiqueta de inicio como de cierre automático.

Si utiliza Dreamweaver CS6, se autocompletará como <br />.

Para validar su archivo HTML en W3C, consulte : http://validator.w3.org /

 2
Author: krupal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-05 01:31:46

Como muchos otros han cubierto, tanto <br> como <br/> son aceptables.

Supongo que la compensación es la mejor legibilidad y compatibilidad con versiones anteriores de <br/> en lugar de enviar un carácter menos a los usuarios finales con <br>.

Y dado que Google usa <br>, yo también lo haré.

(Por supuesto, tenga en cuenta que podrían estar sirviéndome <br> porque estoy usando Chrome que saben que lo soporta. En IE todavía podrían estar sirviendo <br/>)

 1
Author: Dimitris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-25 14:08:30

<br> funciona bien. Las versiones más estrictas como XHTML requieren que agregue el cierre, y las versiones realmente antiguas de HTML que no incluyen un DOCTYPE hacen de <br> una etiqueta no vacía, como <br></br>.

Resumen: <br> está bien. Otros también están bien.

 1
Author: Aravind Suresh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-02 16:30:37

La mayoría de los casos en HTML, las etiquetas están en pares. Pero para un salto de línea no necesitas un par de etiquetas. Por lo tanto, para indicar esto, HTML utiliza el formato <br/>. <br/> es la correcta. Usa ese formato.

<br> la etiqueta no tiene etiqueta final en HTML En XHTML, la etiqueta <br> debe estar correctamente cerrada, así: <br />

En XML cada etiqueta debe estar cerrada. XHTML es una extensión de XML, por lo que todas las reglas de XML deben seguirse para XHTML válido. Por lo tanto, incluso etiquetas vacías (nodos sin hijo nodos) como
deben ser cerrados. XML tiene una forma corta llamada etiquetas de cierre automático para nodos vacíos. Puedes escribir <br></br> as <br />. Por lo tanto, en XHTML <br /> se utiliza.

HTML es muy indulgente en este sentido, y no existe tal regla. Así que en HTML nodos vacíos como <br> <hr> <meta> etc se escriben sin la barra diagonal de cierre.

HTML

<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">

XHTML

<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />

No todas las etiquetas pueden cerrarse automáticamente. Por ejemplo, una etiqueta como <script src="jQuery.min.js" /> no está permitida por XHTML DTD.

 1
Author: Bhavin Solanki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-01 19:59:39

Ummm.....¿alguien conoce a un SOLO proveedor, agente de usuario o fabricante de navegadores que alguna vez haya seguido las especificaciones del W3C al 100%??? Así que si HTML5 dice que es compatible con las tres versiones de break element, puede apostar a que los proveedores admiten las mismas versiones y aún más descuidadas.

Lo ÚNICO que importa en este debate es usar CONSISTENTEMENTE una codificación que también siga las especificaciones XML, así como las especificaciones HTML cuando sea posible. Eso significa que debe usar la versión XML correcta de la etiqueta break y anima a todo tu equipo a hacer lo mismo:

<br />

El mismo formato de barra espaciadora debe aplicarse a las etiquetas img, a, hr y meta en su código. ¿Por qué? Porque:

  1. Es compatible con versiones anteriores de XHTML user-agents / browsers
  2. Los proveedores de navegadores soportan la versión XML de todos modos, por lo que la especificación HTML5 es discutible.
  3. Las implementaciones descuidadas de la mayoría de los agentes de usuario hoy, en el pasado y en el futuro lo aceptarán.
  4. permite su marcado para ser comparable con los estándares XML si necesita volver a crear documentos XHTML / XML a partir de su marcado.
  5. Es una "buena práctica de codificación" que TODOS los DESARROLLADORES WEB sigan utilizando prácticas de marcado sólidas que sigan XML, incluida la codificación en minúsculas, atributos entrecomillados, caracteres XML escapados, etc. sucesivamente. ¿Por qué? En el futuro, si tiene que cambiar a datos XML, codificará y pensará automáticamente en XML.
  6. Solo podemos esperar que en el futuro World Wide Web, nos alejemos desde estándares implementados por proveedores privados y volver a un marcado sólido, confiable y verificado que analiza más rápido, mueve los datos a través de los cables más rápido y hace que nuestra Internet del futuro sea un medio más estandarizado utilizando XML.

Además, en el mundo robótico y de máquinas que está aquí, donde los robots no tienen los mismos problemas de codificación de interfaz humana que HTML5 resuelve para nosotros, con mucho gusto volverán a los sistemas de datos XML y analizarán dichas páginas web de interfaz de usuario mucho más rápido cuando se conviertan a datos XML.

 0
Author: Stokely,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-17 19:23:25

<br> y <br /> renderizar de manera diferente en algunos navegadores, por lo que elegir cualquiera sobre el otro no va a dañar su proyecto, pero espera un hallazgo masivo..reemplazar para afectar el renderizado de la página en algunos navegadores, lo que puede resultar en trabajo adicional para usted o incluso vergüenza si el cambio no afecta nada en su navegador de prueba, pero romperlo en el navegador preferido de sus clientes.

Prefiero <br> ya que es lo que he utilizado desde Erwise y Netscape Navigator (primeros navegadores web), pero no hay razón para no elegir <br /> en su lugar. Puede ser útil para algunos preprocesamiento, comparabilidad, etc.

Incluso si su elección se reduce a preferir el aspecto de uno sobre el otro, o usted (o su editor HTML favorito, por ejemplo, Dreamweaver) podría querer que su código sea compatible con xml. Depende de ti.

Una breve nota al margen:

No debe confundirse con br, pero además también puede considerar el uso de etiquetas wbr en su HTML: Una etiqueta de oportunidad de salto de palabra, que especifica en qué parte de un texto estaría bien añadir un salto de línea.

Para una lectura adicional, por favor lea la especificación HTML5.

 -2
Author: Knickerless-Noggins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-22 09:38:56

Los elementos sin etiquetas finales se llaman etiquetas vacías. En html 4 y html 5, las etiquetas finales no son necesarias y se pueden omitir.

En xhtml, las etiquetas son muy estrictas. Eso significa que debe comenzar con la etiqueta de inicio y terminar con la etiqueta de fin.

 -2
Author: Mahesh P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-10 12:11:50