Я отвечу за горизонтальное растяжение текста, так как вертикальное - это легкая часть - просто используйте "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>
letter-spacing просто добавляет пространство между буквами, ничего не растягивает, но это довольно относительное
встроенный блок, потому что встроенные элементы слишком строгие, и в противном случае приведенный ниже код не работал бы
Теперь комбинация, которая имеет значение
font-size, чтобы получить желаемый размер - таким образом текст действительно будет той длины, которой должен быть, а текст до и после него будет отображаться рядом с ним (scaleX только для демонстрации, браузер по-прежнему видит элемент в исходном размере при размещении других элементов).
scaleY, чтобы уменьшить высоту текста, чтобы он был таким же, как текст рядом с ним.
transform-origin, чтобы масштабировать текст от верха строки.
margin-bottom установлен на отрицательное значение, так что следующая строка не будет далеко ниже - желательно в процентах, чтобы мы не меняли свойство line-height.
vertical-align установлено на верх, чтобы текст до или после него не перемещался на другую высоту (поскольку растянутый текст имеет реальный размер 32 пикселя)
- У простого элемента span есть font-size, только как ссылка.
В вопросе был задан способ предотвратить выделение текста жирным шрифтом, вызванного растяжением, а я до сих пор его не дал, НО свойство font-weight имеет больше значений, чем просто обычный и жирный .
Я знаю, вы просто не видите этого, но если вы ищете соответствующие шрифты , вы можете использовать больше значений.