Metnin yatay olarak gerilmesi için cevap vereceğim, çünkü dikey kolay bölümdür - sadece "transform: scaleY ()" kullanın
.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>
harf aralığı , harfler arasına boşluk ekler, hiçbir şey uzatmaz, ancak biraz görecelidir
inline-block, çünkü inline elemanlar çok kısıtlayıcıdır ve aşağıdaki kod başka şekilde çalışmaz
Şimdi farkı yaratan kombinasyon
istediğimiz boyuta ulaşmak için yazı tipi boyutu - bu şekilde metin gerçekten olması gereken uzunlukta olacak ve yanında ve öncesinde metin görünecektir (scaleX sadece göstermek içindir, tarayıcı hala öğeyi görüyor diğer öğeleri yerleştirirken orijinal boyutunda).
scaleY metnin yüksekliğini azaltmak için yanındaki metinle aynı olur.
dönüştürme-orijini metnin satırın üstünden ölçeklendirmesini sağlar.
margin-bottom negatif bir değere ayarlanmıştır, böylece bir sonraki satır çok aşağıda olmayacaktır - tercihen yüzde, böylece satır yüksekliği özelliğini değiştirmeyiz.
önce veya sonra metnin diğer yüksekliklere kaymasını önlemek için üste dikey hizalama (uzatılmış metnin gerçek boyutu 32 piksel olduğundan)
- Basit span öğesinin yalnızca referans olarak yazı tipi boyutu vardır.
Soru, streç nedeniyle metnin kalınlığını önlemenin bir yolunu istedi ve hala bir tane vermedim, ancak font-weight özelliği normal ve kalından daha fazla değere sahip .
Biliyorum, bunu göremezsiniz, ancak uygun yazı tiplerini ararsanız , daha fazla değer kullanabilirsiniz.