Vou responder pelo alongamento horizontal do texto, já que a vertical é a parte mais fácil - basta usar "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>
o espaçamento entre letras apenas adiciona espaço entre as letras, não alonga nada, mas é meio relativo
bloco inline porque os elementos inline são muito restritivos e o código abaixo não funcionaria de outra forma
Agora a combinação que faz a diferença
tamanho da fonte para chegar ao tamanho que queremos - dessa forma, o texto realmente terá o tamanho que deveria e o texto antes e depois aparecerá ao lado (scaleX é apenas para exibição, o navegador ainda vê o elemento no tamanho original ao posicionar outros elementos).
scaleY para reduzir a altura do texto, para que seja igual ao texto ao lado.
transform-origin para aumentar a escala do texto a partir do topo da linha.
margem inferior definida como um valor negativo, para que a próxima linha não fique muito abaixo - de preferência porcentagem, para que não alteremos a propriedade altura da linha.
alinhamento vertical definido como superior, para impedir que o texto antes ou depois flutue para outras alturas (já que o texto esticado tem um tamanho real de 32px)
- O elemento span simples possui um tamanho de fonte, apenas como referência.
A pergunta pedia uma maneira de evitar a negritude do texto causada pelo alongamento e eu ainda não forneci uma, MAS a propriedade font-weight tem mais valores do que apenas normal e negrito .
Eu sei, você simplesmente não pode ver isso, mas se você procurar as fontes apropriadas , poderá usar mais valores.