new - w3schools html br




HTML 5: ¿Es<br>,<br/> o<br/>? (16)

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

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

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

<!DOCTYPE HTML>

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


  1. Si está generando HTML en un sitio web normal, puede usar <br> o <br/> , ambos son válidos en cualquier momento en que esté sirviendo HTML5 como texto / html.

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

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

    Como se indicó en 1. <br/> también es válido para HTML5 que se genera como XML pero sirve como texto / html regular sin una declaración XML (como la de una Transformada 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 la forma en que se representa la página (si alguien puede citar un ejemplo, me retractaré, pero no creo que sea cierto, pero IE sin duda hace muchas otras cosas extrañas con todas las formas de etiquetas <br> ).

El excelente validador 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).


Bueno, todo lo que sé es que <br /> da un descanso con una línea blanca y, en algunos casos, solo da un descanso. Esto me sucedió cuando estaba configurando un script de IPN (PHP), envié correos y revisé la bandeja de entrada. No sé por qué, pero solo conseguí que el mensaje se viera limpio usando <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 /> , por lo tanto, las líneas de espacios en blanco, las últimas tres filas de texto en la parte inferior y la última sección están separadas por <br> y solo da una nueva fila.


Creo que esta cita del borrador de referencia de HTML 5 ofrece la respuesta:

Sin embargo, algunos elementos tienen prohibido contener contenido alguno. Estos son conocidos como elementos vacíos. En HTML, la sintaxis anterior no se puede utilizar para elementos vacíos. Para tales elementos, la etiqueta final debe omitirse porque el elemento es cerrado automáticamente por el analizador. Tales elementos incluyen, entre otros, br, hr, link y meta

Ejemplo HTML:

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

En XHTML, los requisitos sintácticos de XML dictan que esto debe hacerse explícito usando una etiqueta final explícita, como la anterior, o la sintaxis del elemento vacío. Esto se logra insertando una barra al final de la etiqueta de inicio inmediatamente antes del soporte en ángulo recto.

Ejemplo:

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

Los autores también pueden optar por utilizar esta misma sintaxis para elementos vacíos en la sintaxis HTML también. Algunos autores también optan por incluir espacios en blanco antes de la barra, sin embargo, esto no es necesario. (Usar los espacios en blanco de esa manera es una convención heredada de las pautas de compatibilidad en XHTML 1.0, Apéndice C).


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


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

En HTML 5 : se prefiere <br> , pero <br/> y <br /> también son aceptables

En XHTML : <br /> es preferible. También puede utilizar <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 compatibilidad con versiones anteriores, algunos navegadores antiguos analizarían XHTML como HTML y fallarían en <br/> pero no <br />

Referencia:


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

Te sugeriré que uses <br/> .


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

Consistencia

En su HTML, es probable que algunos SVG y SVG solo admitan la notación regular (por ejemplo, <rect /> ).

Hackabilidad

No es un caso que los marcos como React y NativeScript utilicen una notación XML.
Tu código de marcado será más fácil de analizar.

Claridad

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

Presupuesto

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 by Emmet ).
Por ejemplo, en Visual Studio Code solo tiene que agregar la siguiente línea a su configuración:

"emmet.syntaxProfiles": {"html": "xhtml"}

La mayoría de los casos en HTML, las etiquetas están en par. 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> etiqueta <br> no tiene etiqueta final en HTML En XHTML, la etiqueta <br> debe estar correctamente cerrada, como esta: <br />

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

HTML es muy indulgente en este sentido, y no existe tal regla. Por lo tanto, en HTML, los nodos vacíos como <br> <hr> <meta> etc. se escriben sin la barra inclinada 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 ser autocerradas. Por ejemplo, una etiqueta como <script src="jQuery.min.js" /> no está permitida por XHTML DTD.


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>

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 de WordPress Plugin: http://make.wordpress.org/core/handbook/coding-standards/html/

Según 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> pueden ser problemáticos en navegadores y herramientas más antiguos.


Si está interesado en la comparabilidad (no en la compatibilidad, sino en la comparabilidad), me quedo con <br /> .

De lo contrario, <br> está bien.


Tanto <br> como <br /> son aceptables en HTML5, pero en el espíritu de HTML, se debe usar <br> . HTML5 permite cerrar barras diagonales 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 sencilla a HTML5. Por supuesto, <br/> también es aceptable, pero para ser compatible con algunos navegadores más antiguos, debería haber un espacio antes de la barra diagonal ( / ).


Tanto <br> como <br/> estarán bien, pero yo 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 un poco más fácil de leer si no usa 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.


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

En resumen: los tres son válidos, el primero es un poco menos "portátil".

Edit : Ahora que todos estamos locos por las especificaciones, creo que vale la pena señalarlo de acuerdo con dev.w3.org/html5/markup/syntax.html#void-element :

Las etiquetas de inicio constan de las siguientes partes, exactamente en el siguiente orden:

  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 ir precedido por uno o más caracteres de espacio.
  4. Opcionalmente, uno o más caracteres de espacio.
  5. Opcionalmente, un carácter "/", que puede estar presente solo si el elemento es un elemento vacío.
  6. Un carácter ">".

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

HTML5 no es XML, por lo que no debe plantear tal requisito. Tampoco es HTML 4.01.

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

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


<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 una etiqueta no vacía, como <br></br> .

Resumiendo: lo que está bien. Otros también están bien.


<br> y <br /> procesan de manera diferente en algunos navegadores, por lo que elegir cualquiera de los otros no va a perjudicar su proyecto, pero espere un gran hallazgo ... lugar que afecte al renderizado de la página en algunos navegadores, lo que puede resultar en un trabajo adicional para usted o incluso vergüenza si el cambio no afecta a nada en su navegador de prueba, pero divídalo en el navegador preferido de sus clientes.

Prefiero <br> ya que es lo que he usado desde Erwise y Netscape Navigator (primeros navegadores web), pero no hay razón para no elegir <br /> 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 a usted (o a su editor de HTML favorito, por ejemplo, Dreamweaver) le gustaría que su código sea compatible con XML. Tu decides.

Una nota al margen rápida:

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é lugar del texto sería correcto agregar un salto de línea.

Para más información, lea la especificación de HTML5 .





html5