nbsp - salto de linea html/n
¿Cómo crear pequeños ESPACIOS en HTML? (5)
El carácter Unicode U + 2002 EN SPACE (  
 
o como entidad de referencia  
) es un espacio con ancho.
Hay em dash y en dash. ¿Hay un "en" equivalente a & nbsp; ? ¿Hay un en equivalente a Ascii 32 puro?
Quiero una mejor manera de escribir esto:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
o esto:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
Puede modificar su CSS en tal:
.spanen{word-spacing:.6em;}
 
(espacio delgado) debería hacer
y
no tiene lo mismo que con un —
(-), para separar los números, debe usar un espacio estrecho de no interrupción (U + 202F).
como otros han mencionado, es mejor utilizar el word-spacing
propiedad css para definir el ancho de sus espacios. probablemente sea una buena idea combinarlo con white-space:no-break;
 
... y varios otros caracteres de espacio no estándar no se implementan correctamente en algunas fuentes fijas.
Esto arruinará su renderizado en el navegador web de una manera incontrolable, y no puede solucionarlo especificando la fuente, ya que no puede controlar la fuente real que está utilizando el navegador web, incluso si especifica el nombre de la fuente o la familia de la fuente, eso no significa que la fuente que tienen sea la misma que la fuente que tienes.
Pero puedes construir un espacio 100% compatible de cualquier tamaño que desees, sin embargo, y es muy fácil. El valor em es el font-size
actual . Es la altura, pero sea cual sea el ancho de la fuente, siempre es una constante relativa a la altura en una fuente de ancho fijo. Entonces puedes aprovechar eso.
A continuación, le mostramos cómo crear un espacio de 1/2 ancho y sin interrupciones dentro del contexto de una fuente de ancho fijo que funciona con todo . Lo muestro implementado en la opción style=""
un tramo, pero por supuesto puedes hacer una clase CSS para que su uso sea menos torpe:
<span style="font-size: .5em;"> </span>
A continuación, le mostramos cómo crear un espacio de 1/4 de ancho y sin interrupciones :
<span style="font-size: .25em;"> </span>
...y así.
Esto siempre funciona con tamaños de espacio más pequeños que el espacio de ancho completo actual porque el carácter es más corto que los otros caracteres en la línea, por lo que controlan el espaciado entre líneas, no el carácter más corto.
Si desea un espacio que sea más ancho que un espacio, use una combinación de espacios completos y espacios más cortos. Si bien obtendrá un espacio más amplio si usa algo como 1.5em
, también obtendrá un espacio más alto, y eso afectará el espacio entre líneas.
Si bien esta solución es molestamente engorrosa, tiene el atributo deseable de funcionar siempre , lo que ninguno de los otros hace.
No use hacks que no tengan sentido. Si desea separar algunas palabras, le sugiero que use el espaciado de palabras de la propiedad CSS:
.strangeNumbers {
word-spacing: 0.5em;
}
<span class="strangeNumbers">123 456</span>