Risponderò per lo stiramento orizzontale del testo, dato che la parte verticale è la parte facile - basta usare "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>
la spaziatura tra le lettere aggiunge solo spazio tra le lettere, non allunga nulla, ma è un po 'relativa
inline-block perché gli elementi inline sono troppo restrittivi e il codice seguente non funzionerebbe diversamente
Ora la combinazione che fa la differenza
la dimensione del carattere per raggiungere la dimensione desiderata - in questo modo il testo sarà davvero della lunghezza che dovrebbe essere e il testo prima e dopo apparirà accanto ad esso (scaleX è solo per mostrare, il browser vede ancora l'elemento alle dimensioni originali quando si posizionano altri elementi).
scaleY per ridurre l'altezza del testo, in modo che sia uguale al testo accanto ad esso.
transform-origin per rendere il testo in scala dalla parte superiore della linea.
margine inferiore impostato su un valore negativo, in modo che la riga successiva non sia molto al di sotto, preferibilmente in percentuale, in modo da non modificare la proprietà altezza della linea.
allineamento verticale impostato in alto, per impedire al testo prima o dopo di fluttuare ad altre altezze (poiché il testo allungato ha una dimensione reale di 32 px)
- L'elemento span semplice ha una dimensione del carattere, solo come riferimento.
La domanda chiedeva un modo per prevenire l'audacia del testo causata dall'allungamento e non ne ho ancora dato uno, MA la proprietà peso-carattere ha più valori che normali e in grassetto .
Lo so, non puoi vederlo, ma se cerchi i caratteri appropriati , puoi usare più valori.