Contestaré para el estiramiento horizontal del texto, ya que la vertical es la parte fácil, solo use "transform: scaleY ()"
.stretched-text {
letter-spacing: 2px;
display: inline-block;
font-size: 32px;
transform: scaleY(0.5);
transform-origin: 0 0;
margin-bottom: -50%;
}
span {
font-size: 16px;
vertical-align: top;
}
<span class="stretched-text">this is some stretched text</span>
<span>and this is some random<br />triple line <br />not stretched text</span>
el espacio entre letras solo agrega espacio entre letras, no estira nada, pero es un poco relativo
bloque en línea porque los elementos en línea son demasiado restrictivos y el siguiente código no funcionaría de otra manera
Ahora la combinación que marca la diferencia
tamaño de fuente para llegar al tamaño que queremos: de esa manera el texto realmente tendrá la longitud que se supone que debe tener y el texto antes y después de aparecer junto a él (scaleX es solo para mostrar, el navegador aún ve el elemento en su tamaño original al colocar otros elementos).
scaleY para reducir la altura del texto, de modo que sea el mismo que el texto al lado.
transform-origin para hacer que el texto se escale desde la parte superior de la línea.
margen inferior establecido en un valor negativo, de modo que la siguiente línea no estará muy por debajo, preferiblemente porcentaje, para que no cambiemos la propiedad de altura de línea.
alineación vertical establecida en la parte superior, para evitar que el texto anterior o posterior flote a otras alturas (ya que el texto extendido tiene un tamaño real de 32 píxeles)
- El elemento span simple tiene un tamaño de fuente, solo como referencia.
La pregunta pedía una forma de evitar la negrita del texto causada por el estiramiento y todavía no he dado uno, PERO la propiedad de peso de fuente tiene más valores que solo normal y negrita .
Lo sé, simplemente no puedes ver eso, pero si buscas las fuentes apropiadas , puedes usar más valores.