HTML 5: ¿es <br>, <br/> o <br />?

2034

He intentado comprobar 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 "permitiría" que las etiquetas individuales simplemente sean <img>y <br>. Luego llegó XHTML junto con <img />y <br />( donde alguien dijo que hay espacio para navegadores antiguos ).

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

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

Eikern
fuente
1
Cualquiera que use hoy, tenga en cuenta que algunos técnicos de asistencia (por ejemplo, lectores de pantalla) probablemente lo anunciarán. NVDA dice "en blanco", por ejemplo. Los usuarios de lectores de pantalla probablemente no obtendrán más que ruido de ese anuncio adicional. Considere agregar un role="presentation"atributo, excepto en los casos excepcionales en que un salto de línea funciona como 'contenido'.
brennanyoung
De acuerdo con la especificación actual "6. Entonces, si el elemento es uno de los elementos vacíos, o si el elemento es un elemento extraño, entonces puede haber un solo carácter U + 002F SOLIDUS (/). Este carácter no tiene efecto sobre el vacío elementos " html.spec.whatwg.org/multipage/syntax.html#start-tags
Tim Abell el

Respuestas:

1544

Simplemente <br>es suficiente.

Las otras formas están ahí 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 una <br>etiqueta simple ; si está utilizando un sistema de este tipo, está bien usarlo <br/>, simplemente no es necesario si no necesita hacerlo.

Sin embargo, muy pocas personas usan XHTML. Debe servir su contenido application/xhtml+xmlpara que se interprete como XHTML, y eso no funcionará en versiones antiguas de IE; también significará que cualquier pequeño error que cometa 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 se está sirviendo, e interpretando, como HTML. Consulte Servir XHTML como texto / html considerado perjudicial para obtener más información.

Brian Campbell
fuente
23
Pero tener un xml válido no implica servir xhtml, de todos modos. Puede ser útil para todo tipo de preprocesamiento local.
Michael Krelin - hacker
29
Sí, pero debes tener mucho cuidado al procesar HTML como XML. Son idiomas diferentes, y solo un subconjunto de cada uno es compatible. Por ejemplo, en XML, <br/>es lo mismo que <br></br>, pero este último no es HTML válido.
Brian Campbell
10
Brian, la idea era que puede tener su html ser XML bien formado, eso es todo. Por supuesto, al transformar uno en otro, debe asegurarse de que siga siendo válido, pero ¿vale la pena mencionarlo? :)
Michael Krelin - hacker
55
@Marco No creo que document.write sea terriblemente rápido en comparación con html real (x) (porque tiene que ejecutarse). En cualquier caso, Javascript no está necesariamente disponible en todas las computadoras, por lo que los sitios web que dependen demasiado de ellos no son muy flexibles. Además, html no tiene funciones.
Michael0x2a
8
@Marco: Eh, no sabía document.write que no funciona en xhtml, gracias por compartir. Estoy de acuerdo en que sería una tontería que las aplicaciones web intentaran hacer cualquier cosa sin Javascript, pero estaba tratando de decir que los sitios web que dependen casi al 100% en Javascript son más frágiles y pueden fallar cuando los usuarios deshabilitan JavaScript (o usan teléfonos más antiguos) o algo así)
Michael0x2a
227

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

3.2.2.2 Elementos vacíos

El término elementos vacíos se usa para designar elementos que deben estar vacíos . Estos requisitos solo se aplican a la sintaxis HTML. En XHTML, todos esos elementos se tratan como elementos normales, pero se deben marcar como elementos vacíos.

Se prohíbe que estos elementos contengan contenido alguno. En HTML, estos elementos solo tienen una etiqueta de inicio . Se puede usar la sintaxis de etiqueta de cierre automático . La etiqueta final debe omitirse porque el analizador cierra automáticamente el elemento.

Ejemplo HTML:
un elemento vacío en la sintaxis HTML. Esto no está permitido en la sintaxis XHTML.

<hr>

Ejemplo:
un elemento vacío que utiliza la sintaxis de etiqueta de cierre automático compatible con HTML y XHTML.

<hr/>

Ejemplo XHTML:
Un elemento vacío que usa la sintaxis XHTML solo con una etiqueta final explícita. Esto no está permitido para elementos vacíos en la sintaxis HTML.

<hr></hr>
Daan
fuente
22
Entonces, la respuesta es codificar preferiblemente sin barra y espacio, pero tener la barra (con o sin espacio) es opcional?
Eikern
67
Me encanta la forma en que la especificación no es particularmente específica (en este punto) "¡meh, haz lo que quieras!"
Matt Ellen
42
Como es opcional, me gusta más />porque es bueno para la legibilidad.
BrunoLM
38
Me gusta cerrar explícitamente mis etiquetas sin otra razón que no sea que se sienta bien y tenga sentido cuando estoy leyendo / escribiendo código. Me complace que el borrador de referencia HTML5 esté de acuerdo conmigo.
Error de sintaxis el
77
Parece bastante específico para mí. <br> y <br /> son HTML5 legales.
William Denniss
135

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

Para resumir: los tres son válidos y el primero ( <br>) es un poco menos "portátil".

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

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 estar 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 ">".
Michael Krelin - hacker
fuente
17
HTML no es en realidad XML, solo bastante cerca de él.
tloach
66
Si no lo es. Pero /es un denominador común aquí. HTML5 específicamente permite el uso de /: "Opcionalmente, un carácter" / ", que puede estar presente solo si el elemento es un elemento vacío".
Michael Krelin - hacker
44
helloworlder, diría que la especificación HTML5 está cerca de ser compatible con XML.
Michael Krelin - pirata informático
55
Solo me gustaría agregar que tanto en XML como en HTML, ML significa lenguaje de marcado. La razón por la que hay tanta superposición entre ellos es que ambos se definieron originalmente usando SGML (Lenguaje de marcado generalizado estandarizado) pero no mucha gente lo recuerda ahora ...
John Vincent
44
@BennyNeugebauer, si está utilizando regex para analizar html, más o menos tiene que confiar en su suerte en lugar de etiquetas correctamente cerradas ;-)
Michael Krelin - hacker
104

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.
  • Por compatibilidad con versiones anteriores, algunos navegadores antiguos analizarían XHTML como HTML y fallarían <br/>pero no<br />

Referencia:

JackDev
fuente
revisó el enlace, el enfoque preferido es <br>, pero ¿dónde dice <br/> que no es aceptable?
JackDev
44
Para aclarar, para la sintaxis compatible con XML, <br/>y <br />(con un ESPACIO) son iguales, sin preferencia por ninguno. Ver la especificación XML 1.0 . El espacio en blanco (ESPACIO, tabulación o ALIMENTACIÓN DE LÍNEA) antes del />es opcional, sin preferencia
Basil Bourque
1
¿Puede citar una referencia para la sintaxis no XML que se prefiere en HTML5? Eso es nuevo para mí. El soporte opcional para la conformidad estricta con XML era un objetivo fundamental de HTML5, según recuerdo. Tal vez me perdí algo en el documento HTML vs. XHTML en whatwg.org, o el W3C Polyglot Markup: un perfil robusto del vocabulario HTML5 en W3C.
Basil Bourque
1
@BasilBourque Para repetir lo que te dije en otro lugar. Lea la especificación real en HTML5 para las etiquetas y elementos y nunca, NUNCA encontrará ninguna recomendación o sugerencia que requiera o sugiera utilizar una barra oblicua para esas etiquetas. Si quieres usar XML o XHTML, entonces no estás usando HTML y esa es una historia diferente. NO use una barra inclinada de cierre para esas etiquetas HTML. En otros lugares, la especificación dice que puede poner uno allí, pero no significa nada, no hace nada y los navegadores tienen instrucciones de ignorarlo. Por lo tanto, no tiene sentido e inútil hacer uso de él igual de inútil e inútil.
Rob
@Rob So Sección 8.1.2.1. Etiquetas de inicio de la Sección 8. La sintaxis HTML del documento, HTML 5.2 Recomendación W3C, 14 de diciembre de 2017 , publicada por el W3C, ¿no es la especificación real de HTML? Por favor avise.
Basil Bourque
54

Según la especificación, la forma esperada es <br>para HTML 5, pero se permite una barra oblicua de cierre.

tvanfosson
fuente
27

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 utiliza<br>

2) <br /> es compatible con versiones anteriores de XHTML y HTML bien formado (es decir: XHTML) es a menudo 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 oblicua de cierre (es decir, en <br />lugar de <br/>), como la especificación de codificación del complemento de WordPress: http://make.wordpress.org/core/handbook/coding-standards/html/

Según mi experiencia, nunca he encontrado un caso en el que el uso <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.

Kmeixner
fuente
1
HTML bien formado no es XHTML.
jmarkmurphy
1
XHTML es HTML bien formado por definición. XHTML sigue las reglas de XML, de acuerdo con w3schools "XML es un lenguaje de marcado donde los documentos deben estar marcados correctamente (estar" bien formados ") ... ... Al combinar las fortalezas de HTML y XML, se desarrolló XHTML. XHTML es HTML rediseñado como XML ". (ver w3schools.com/html/html_xhtml.asp )
Kmeixner el
2
HTML puede estar bien formado, pero no ser XML válido. W3Schools no siempre es la referencia más autorizada.
jmarkmurphy
El profesor del curso universitario de informática en programación web que tomé en 1997 también afirmó que xhtml está bien formado html. No estoy seguro de dónde obtiene su información, ¿puede citar alguna fuente oficial en línea para respaldar su reclamo?
Kmeixner
1
@jmarkmurphy, creo que tal vez no esté familiarizado con el término "bien formado", que es un término técnico para referirse al requisito de los estándares de XML y XHTML de que todas las etiquetas deben tener etiquetas de cierre y deben estar anidadas en el orden correcto . <hr> y <br> no cumplen con los requisitos de XML y XHTML porque no tienen etiquetas de cierre, por ejemplo: <br /> o <br> </br> son válidos, <br> no es XHTML o XML válido . HTML, por supuesto, no tiene el requisito bien formado, por lo que <br> y <hr> son válidos solo en HTML.
Kmeixner
20

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

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

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

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

sastanin
fuente
2
"HTML5 no es XML, por lo que no debería presentar tal requisito". Si eso es correcto o no depende de la interpretación de la palabra "HTML5". Si hablamos de HTML5 como lenguaje, entonces esa afirmación es correcta. Sin embargo, si hablamos de HTML5 como una especificación, entonces esa afirmación es incorrecta. La especificación HTML5 define "un vocabulario y API asociadas para HTML y XHTML". Sé que es un poco quisquilloso, no digo que esta respuesta sea incorrecta, solo doy información adicional para el lector.
Christian Hujer
14

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

De lo contrario, <br>está bien.

MindStalker
fuente
1
Alguien debería revertir esto. El significado ha cambiado.
Josiah
99
¿Qué se entiende por comparabilidad? No lo entiendo
tuxayo
12

Ambos <br>y <br />son aceptables en HTML5, pero en el espíritu de HTML, <br>deben usarse. 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 oblicua de cierre ( /).

kevinji
fuente
1
@ Knickerless-Noggins No estoy seguro de dónde está leyendo eso, pero <br />es perfectamente aceptable, y W3Schools no es la especificación para HTML. Consulte la especificación HTML5 , que establece claramente que "Entonces, si el elemento es uno de los elementos vacíos , o si el elemento es un elemento extraño , entonces puede haber un solo carácter" / "(U + 002F) . [Énfasis agregado ] "
kevinji
Esta respuesta, como otras, minimiza incorrectamente la legitimidad de la estricta conformidad XML en HTML5. La compatibilidad con XML no es una función de transición o migración temporal. El soporte opcional de conformidad con XML era un objetivo fundador de HTML5. Es una característica vital para las personas que utilizan herramientas XML para trabajar con su contenido HTML.
Basil Bourque
12
  1. Si está imprimiendo HTML en un sitio web normal que puede usar <br> o <br/> , ambos son válidos cada vez que sirve HTML5 como texto / html.

  2. Si está sirviendo HTML5 como XHTML (es decir, aplicación de tipo de contenido / 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 mostrar su página (Firefox en particular es muy estricto sobre la representación 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 sirve como 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, lo retractaré, 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 lo que es válido (aunque no estoy seguro de que pueda confiar en que también verifique el tipo de contenido).

Iain Collins
fuente
espera, text / html mimetype es estricto XML?
amwinter
1
No debe servirlo con una declaración XML si usa text / html, pero el contenido puede ser XML válido (por ejemplo, generado a partir de algo que genera XML, como la salida XSLT o un objeto que serializa a XML).
Iain Collins
Todavía no entiendo: si text / html debería tener un <br />, ¿cuándo debería usar sin cerrar <br>?
amwinter
1
Oh, lo siento, ambos son técnicamente válidos para HTML5 si es a través de texto / html. Puede confirmar esto con el validador (en su mayoría) impresionante en validator.w3.org . Mi redacción anterior es pobre. Veo que ahora, lo editaré.
Iain Collins
3
Creo que fue Netscape Navigator 3 o 4 lo que no le gustó <br/>, ciertamente no hay nada de qué preocuparse hoy en día.
robertc
12

Ambos <br>y <br/>lo haré 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 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 lo mismo. Sin embargo, <br>no es compatible con xHTML.

Dan Bray
fuente
7

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

Samuel
fuente
12
¿Qué? ¿Sabes qué navegadores?
Eikern
77
Encontré esto al probar los navegadores de la era ie5 / ns4. Si no recuerdo mal, fue en el modo de cumplimiento de normas. Pero fue hace mucho tiempo ...
Samuel
3
Para navegadores HTML4 estrictos (que es prácticamente solo el validador HTML4), <br />significa <br>&gt;.
Konrad Borowski
7

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

Para citar la Sección 8.1.2.1 de la Recomendación HTML 5.2 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 ir seguidos de un espacio. Consulte §8.1.2.3 Atributos a continuación).

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

Si utiliza Dreamweaver CS6, se completará automáticamente como <br /> .

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

krupal
fuente
@Julix De hecho, ¿por qué los votos negativos? Esta es una de las pocas respuestas correctas en esta página. HTML5 es absolutamente compatible con XML, opcionalmente, y en sintaxis XML, una sola etiqueta debe cerrarse con la barra inclinada. ¿Cómo pueden estos hechos simples ser tan mal interpretados cuando se escriben en blanco y negro en la especificación ?
Basil Bourque
5

En la validación, de esta pregunta, realmente depende de qué !DOCTYPE que intente obtener la verificación.

Mi favorito personal es 4.01 Transdonde 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 la<br></br>

En HTML5o el "LAX" del mundo del código, realmente no hay una respuesta correcta porquedetects every example you put up correcta ...

Al final, creo que todo lo que importa is what validation YOU PREFERo the person that you are working for prefers... con el lackadaisicalmovimiento en la estricción del código html5, estamos viendo algunos CODIFICADORES MUY PERTUROSOS

Empuje lento
fuente
4

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

Consistencia

En su HTML, probablemente haya algunos SVG y SVG solo admitan la notación regular (p. Ej. <rect /> ).

Hackability

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

Claridad

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

Especificaciones

Ambos <br>y <br />son etiquetas HTML válidas.

Conclusión

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

"emmet.syntaxProfiles": {"html": "xhtml"}
isar
fuente
1
Estrictamente hablando, ambos son anotaciones cortas: la notación corta HTML y la notación corta XML, respectivamente. La notación completa es <br></br>, y es válida en X (HT) ML, pero no en HTML.
Ilya Streltsyn
1
HTML5 no introdujo <br>. Siempre ha estado en HTML. XHTML introducido <br/>
jmarkmurphy
1
Para entrar en la historia de esto correctamente, necesita profundizar en SGML.
Michael Kay
3

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 envié correos y revisé la bandeja de entrada. No sé por qué, pero solo recibí el mensaje para lucir bien usando ambos<br /> and <br>

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

Las primeras dos secciones de 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á separada por <br>y solo da una nueva fila.

Emanuel Olsson
fuente
3
¿Qué navegador era ese?
Dave Burton,
3

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

Te sugiero que uses <br/>.

Shubham Kumar
fuente
2

Como muchos otros han cubierto, ambos <br>y <br/>son aceptables.

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

Y como Google usa <br>, yo también.

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

Dimitris
fuente
2

<br>funciona bien Las versiones más estrictas como XHTML requieren que usted agregue el cierre, y las versiones anteriores de HTML realmente que no incluyen una DOCTYPEmarca <br>una etiqueta no nula, al igual que <br></br>.

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

Aravind Suresh
fuente
2

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

harold ramos
fuente
La barra nunca ha sido necesaria y nunca se ha especificado en ninguna especificación HTML o incluso se ha utilizado como ejemplo en la especificación.
Rob
1
@Rob No sé de dónde sacas tus especificaciones HTML, pero obtengo las mías de las organizaciones WHATWG y W3C. Ambos publican especificaciones que definen claramente el cumplimiento estricto de XML como una característica opcional de HTML5. Esto incluye específicamente el cierre de etiquetas individuales con />. Véanse las secciones 8.1.2.1 y 2 . Y vea el documento HTML vs. XHTML en whatwg.org, y el W3C Polyglot Markup: un perfil robusto del vocabulario HTML5 en W3C.
Basil Bourque
@BasilBourque Lea la especificación exacta de esas etiquetas en HTML y no muestre XML o XHTML que no son el tema aquí. Nunca encontrará una redacción escrita o ejemplos en ninguna especificación para HTML en la historia de Internet donde se utiliza, se requiere o incluso se sugiere una barra oblicua.
Rob
1
@Rob Todo lo que puedo hacer es repetir: W3C publicó un documento llamado HTML 5.2 donde Sección 8.1.2.1. Las etiquetas de inicio dicen claramente que una etiqueta de cierre automático con o con una barra diagonal es válida, en el punto # 6: Entonces, si el elemento es uno de los elementos vacíos, o si el elemento es un elemento extraño, entonces puede haber una sola U + 002F carácter SOLIDUS (/). Este carácter no tiene efecto en los elementos vacíos, pero en los elementos extraños marca la etiqueta de inicio como cierre automático. Los otros documentos que vinculé explican que si expresa su HTML5 como XML, se requiere la barra diagonal.
Basil Bourque
1
@BasilBourque Nunca dije que no era válido. Dije que no tiene sentido y que no sirve para nada, como usted mismo lo citó. Y, nuevamente, está presentando XML como justificación para usarlo en HTML. ¡No hagas eso! ¡No són la misma cosa! Llamamos a eso "sopa de etiquetas" cuando el analizador HTML necesita interpretar contenido XML.
Rob
2

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

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

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

HTML es muy indulgente a este respecto, y no existe tal regla. Entonces, en HTML, los 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, <script src="jQuery.min.js" />XHTML DTD no permite una etiqueta como .

Bhavin Solanki
fuente
1

Ummm ... ¿Alguien conoce a un SOLO vendedor, agente de usuario o fabricante de navegadores que haya seguido las especificaciones del W3C al 100%? Entonces, si HTML5 dice que es compatible con las tres versiones de elementos de interrupción, ¡puede apostar 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 y las especificaciones HTML cuando sea posible. Eso significa que debe usar la versión XML correcta de la etiqueta de ruptura y alentar a todo su equipo a hacer lo mismo:

<br />

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

  1. Es compatible con versiones anteriores de agentes de usuario / navegadores XHTML anteriores
  2. Los proveedores de navegadores admiten 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 de hoy, en el pasado y en el futuro lo aceptarán.
  4. Permite que su marcado sea comparable con los estándares XML en caso de que necesite volver a crear documentos XHTML / XML a partir de su marcado.
  5. Es una "buena práctica de codificación" para TODOS LOS DESARROLLADORES WEB seguir usando prácticas de marcado sólidas que siguen XML, incluida la codificación en minúsculas, los atributos entre comillas, los caracteres XML escapados, etc. etc. ¿Por qué? En el futuro, si tiene que cambiar a datos XML, codificará automáticamente y pensará en XML.
  6. Solo podemos esperar que en el futuro World Wide Web, nos alejemos de los estándares implementados por proveedores privados y regresemos a un marcado sólido, confiable y verificado que se analice más rápido, mueva los datos a través de los cables más rápido y haga que nuestro futuro Internet sea más estandarizado medio usando 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 gusto volverán a los sistemas de datos XML y analizarán esas páginas web de interfaz de usuario mucho más rápido cuando se conviertan a XML datos.

Stokely
fuente
0


funciona bien en HTML5. HTML5 permite un poco más de margen que XHTML

Ben Mikola
fuente
0

Si está utilizando HTML5, entonces usar <br>es la forma correcta de hacerlo :)

Amigo de vuelo
fuente
0

ambos <br>y <br/>funciona, pero no hay necesidad de usar el segundo porque HTML 5 también admite la primera sintaxis, que es muy fácil

Gad
fuente
-3

<br>y <br />renderizar de manera diferente en algunos navegadores, por lo que elegir uno sobre el otro no va a dañar su proyecto, pero espere que un hallazgo masivo ... reemplazará afectará el 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 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 />. Puede ser útil para algunos preprocesamientos, comparabilidad, etc.

Incluso si su elección se reduce a preferir la apariencia de uno sobre el otro, o usted (o su editor HTML favorito, por ejemplo Dreamweaver) podría desear 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 wbretiquetas en su HTML: una etiqueta de oportunidad de salto de palabra, que especifica en qué parte del texto estaría bien agregar un salto de línea.

Para leer más, lea las especificaciones HTML5 .

WonderWorker
fuente
55
Consulte la especificación HTML5 , que establece claramente que "Entonces, si el elemento es uno de los elementos vacíos , o si el elemento es un elemento extraño , entonces puede haber un solo carácter" / "(U + 002F) . [Énfasis agregado ] " <br>, por supuesto, es un elemento nulo, como puede ver en el enlace de la cita.
kevinji
-4

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

En xhtml, las etiquetas son muy estrictas. Eso significa que debe comenzar con la etiqueta de inicio y finalizar con la etiqueta de finalización.

Mahesh Peri
fuente
1
Incorrecto. Una etiqueta única es tan válida en HTML5 como un par de etiquetas de inicio y fin. Ver la especificación HTML 5.2 .
Basil Bourque