Odpowiem za rozciąganie tekstu w poziomie, ponieważ pion jest prostą częścią - po prostu użyj "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>
odstępy między literami po prostu dodają odstępy między literami, niczego nie rozciągają, ale są względne
inline-block, ponieważ elementy inline są zbyt restrykcyjne i poniższy kod nie działałby inaczej
Teraz kombinacja, która robi różnicę
rozmiar czcionki, aby uzyskać żądany rozmiar - w ten sposób tekst będzie naprawdę miał taką długość, jaką ma być, a tekst przed i po nim pojawi się obok niego (scaleX jest tylko do pokazania, przeglądarka nadal widzi element w oryginalnym rozmiarze podczas pozycjonowania innych elementów).
scaleY, aby zmniejszyć wysokość tekstu, tak aby był taki sam, jak tekst obok.
transform-origin, aby skalować tekst od góry wiersza.
margin-bottom ustawiono na wartość ujemną, aby następna linia nie znajdowała się dużo poniżej - najlepiej procentowo, abyśmy nie zmienili właściwości line-height.
wyrównanie w pionie ustawione do góry, aby zapobiec unoszeniu się tekstu przed lub po na inne wysokości (ponieważ rozciągnięty tekst ma rzeczywisty rozmiar 32px)
- Prosty element span ma rozmiar czcionki, tylko jako odniesienie.
Pytanie dotyczyło sposobu, aby zapobiec pogrubieniu tekstu spowodowanemu przez rozciągnięcie i nadal go nie podałem, ALE właściwość font-weight ma więcej wartości niż zwykłe i pogrubione .
Wiem, po prostu tego nie widzisz, ale jeśli szukasz odpowiednich czcionek , możesz użyć większej liczby wartości.