Solo para completar: el carácter de guión largo real ("mdash") es: - y debe ser tan ancho como el carácter "m"
Simon B.
6
sí, una M mayúscula
Ray Tayek
Respuestas:
85
Los analizadores SGML (o analizadores XML en el caso de XHTML) pueden manejar —sin tener que procesar el DTD (lo que no importa a los navegadores, ya que solo sorben sopa de etiquetas), mientras que —es más fácil para los humanos leer y escribir en el código fuente.
Personalmente, me apegaría a un em-dash literal y me aseguraría de que la configuración de codificación de mis caracteres fuera consistente.
Salvo errores del navegador, mostrarán lo mismo en todos los casos, por lo que la única diferencia sería la legibilidad del código, que apuntaría a —.
O, si está utilizando UTF-8 como un juego de caracteres en su documento HTML, puede ingresar el carácter directamente. Eso también mostraría exactamente lo mismo.
Tenga en cuenta que esto solo es cierto para HTML, en XML, &8212;siempre funciona mientras que —depende de haber declarado la entidad.
Flimm
10
—:: —::\u2014
Al representar el guión m en una cadena de texto JavaScript para la salida a HTML, tenga en cuenta que estará representado por su valor Unicode. Hay casos en los que los caracteres ampersand ('&') no se resolverán, en particular, ciertos contextos dentro de JSX. En este caso, ni —ni —funcionará. En su lugar es necesario utilizar la secuencia de escape Unicode: \u2014.
Por ejemplo, al implementar un render()método para generar texto desde una variable de JavaScript:
render() {
let text='JSX transcoders will preserve the & character—to '
+ 'protect from possible script hacking and cross-site hacks.'return (
<div>{text}</div>
)
}
Esto dará como resultado:
<div>JSX transcoders will preserve the & character—to protect from possible script hacking and cross-site hacks.</div>
En lugar de la &representación con prefijo, debes usar \ u2014:
lettext='JSX transcoders will preserve the & character\u2014to …'
En aras de la portabilidad, las referencias a entidades Unicode deben reservarse para su uso en documentos que seguramente estarán escritos en juegos de caracteres UTF-8 o UTF-16. En todos los demás casos, deben utilizarse las referencias alfanuméricas.
Traducción: si está buscando un soporte más amplio, vaya con —
Podría ser que usar el código numérico sea más universal, ya que es una referencia directa a un carácter en la tabla de entidad html, pero supongo que ambos funcionan en todas partes. La primera notación es mucho más fácil de recordar para muchos personajes.
Respuestas:
Los analizadores SGML (o analizadores XML en el caso de XHTML) pueden manejar
—
sin tener que procesar el DTD (lo que no importa a los navegadores, ya que solo sorben sopa de etiquetas), mientras que—
es más fácil para los humanos leer y escribir en el código fuente.Personalmente, me apegaría a un em-dash literal y me aseguraría de que la configuración de codificación de mis caracteres fuera consistente.
fuente
Son exactamente el mismo personaje. Ver: http://en.wikipedia.org/wiki/Dash
Salvo errores del navegador, mostrarán lo mismo en todos los casos, por lo que la única diferencia sería la legibilidad del código, que apuntaría a
—
.O, si está utilizando UTF-8 como un juego de caracteres en su documento HTML, puede ingresar el carácter directamente. Eso también mostraría exactamente lo mismo.
fuente
&8212;
siempre funciona mientras que—
depende de haber declarado la entidad.—
::—
::\u2014
Al representar el guión m en una cadena de texto JavaScript para la salida a HTML, tenga en cuenta que estará representado por su valor Unicode. Hay casos en los que los caracteres ampersand ('&') no se resolverán, en particular, ciertos contextos dentro de JSX. En este caso, ni
—
ni—
funcionará. En su lugar es necesario utilizar la secuencia de escape Unicode:\u2014
.Por ejemplo, al implementar un
render()
método para generar texto desde una variable de JavaScript:render() { let text='JSX transcoders will preserve the & character—to ' + 'protect from possible script hacking and cross-site hacks.' return ( <div>{text}</div> ) }
Esto dará como resultado:
<div>JSX transcoders will preserve the & character—to protect from possible script hacking and cross-site hacks.</div>
En lugar de la
&
representación con prefijo, debes usar \ u2014:let text='JSX transcoders will preserve the & character\u2014to …'
fuente
Del sitio web de W3 Entidades HTML comunes utilizadas para la tipografía
Traducción: si está buscando un soporte más amplio, vaya con
—
fuente
Podría ser que usar el código numérico sea más universal, ya que es una referencia directa a un carácter en la tabla de entidad html, pero supongo que ambos funcionan en todas partes. La primera notación es mucho más fácil de recordar para muchos personajes.
fuente