xhtml - salto - p html
¿Por qué<br/> y no<br/>? (13)
Esta es una de esas cosas que leíste una vez, di "¡aha!" y luego olvidar. Exactamente mi caso.
¿Por qué la etiqueta de salto de línea en xhtml se escribe preferentemente con un espacio <br />
y no en el formato también correcto <br/>
? Recuerdo que la razón era interesante y, como puedes imaginar, no es fácil encontrarlo en Google.
Seguro que no es un problema de xml bien formado. Del W3C
[44] EmptyElemTag ::= ''<'' Name (S Attribute)* S? ''/>''
Empty-element tags may be used for any element which has no content, whether
or not it is declared using the keyword EMPTY. For interoperability, the
empty-element tag should be used, and should only be used, for elements which
are declared EMPTY.
Examples of empty elements:
<IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />
<br></br>
<br/>
Así que el espacio al final es opcional.
Algunos navegadores antiguos no analizaron el elemento correctamente sin el espacio, por lo que la mayoría de los desarrolladores web utilizan <br />
. No recuerdo qué navegadores de repente, pero creo que están casi extinguidos.
EDITAR : El navegador era Netscape 4 .
Ambos <br/>
y <br />
son correctos. La razón por la que surgió <br />
en primer lugar fue para admitir navegadores más antiguos que no entendían la nueva sintaxis <br/>
. Es realmente una especie de pirateo donde el /
se interpreta como un atributo sin valor y se ignora.
Ambos son correctos, y ambos serán aceptados por los navegadores web. También puedes ahorrarte el carácter extra y usar <br/>
Ambos son correctos. Pero usaría <br />
solo para mantener mi código consistente ... porque nunca escribiría
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
en lugar de
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Solo para guardar un byte ... y la segunda versión es mucho mejor legible. Pero eso es solo una cuestión de gusto. Hazlo como quieras, pero hazlo de manera consistente :-)
Ambos son correctos.
Cualquiera funcionará bien Suponiendo que esté pidiendo razones evangélicas, prefiero <br/>
No hay manera correcta en XHTML. Son formalmente idénticos en XML. El espacio en blanco no es significativo en esa ubicación.
Para XHTML: ambos. Para HTML4 y anteriores: ninguno.
Si recuerdo correctamente, es simplemente porque algunos navegadores antiguos tenían problemas con una etiqueta de cierre automático sin espacio antes de la barra diagonal. Dudo que sea un problema hoy en día, pero muchos desarrolladores (yo incluido) se acostumbraron a incluir el espacio.
Edit: Ah, aquí estamos:
http://www.w3.org/TR/xhtml1/#guidelines
Incluya un espacio antes del arrastre / y> de los elementos vacíos, por ejemplo,
<br />
,<hr />
y<img src="karen.jpg" alt="Karen" />
. Además, use la sintaxis de etiqueta minimizada para elementos vacíos, por ejemplo,<br />
, ya que la sintaxis alternativa<br></br>
permitida por XML da resultados inciertos en muchos agentes de usuario existentes.
Un poco de historia para agregar a la respuesta de Matt Hamilton.
Un navegador con un problema mínimo fue Netscape 4. Una comprobación rápida muestra que en ese navegador, <br/> (es decir, sin espacio) no causa un salto de línea. De hecho, no parece hacer nada. <br /> (es decir, con espacio) realiza un salto de línea.
Al crear documentos políglotas que pueden comportarse como XHTML o HTML (Nota: "comportarse como" - no "válido") es necesario usar <br /> o <br> </br>. Sin embargo, en los navegadores antiguos, e incluso en los navegadores modernos cuando se procesa una página en modo peculiar, </br> se comporta como <br>, por lo que <br> </br> produce dos saltos de línea.
w3c especifica esto como la gramática:
EmptyElemTag ::= ''<'' Name (S Attribute)* S? ''/>''
Eso significa un corchete abierto, un nombre, un número de tokens (espacio y atributo), un espacio opcional, una barra y una etiqueta final. Según esto, ambos son correctos.
<br />
es HTML válido (antiguo), mientras que <br/>
no lo es. Si está sirviendo su XHTML como XML, no importa. Si lo está sirviendo como text/html
, entonces debe ser HTML válido además de XHTML válido. (¿Por qué servir XHTML como HTML? Porque IE no entiende XHTML como XML, y porque ningún navegador principal comenzará a mostrar XHTML a mitad de la descarga del texto, pero lo harán a HTML. Mi blog parece cargar lentamente, no porque el sitio es lento, pero debido a que el navegador no comenzará a mostrar la página hasta que se haya recuperado todo. Odio los navegadores.)
<br>
. No estás utilizando XML de todos modos.