ฉันจะตอบสำหรับการยืดข้อความในแนวนอนเนื่องจากแนวตั้งเป็นส่วนที่ง่าย - เพียงใช้ "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>
การเว้นระยะห่างระหว่างตัวอักษรเพียงแค่เพิ่มช่องว่างระหว่างตัวอักษรไม่มีอะไรเลย แต่มันเป็นญาติกัน
อินไลน์บล็อกเนื่องจากองค์ประกอบแบบอินไลน์มีข้อ จำกัด เกินไปและโค้ดด้านล่างจะไม่สามารถใช้งานได้
ตอนนี้การผสมผสานที่สร้างความแตกต่าง
ขนาดตัวอักษรเพื่อให้ได้ขนาดที่เราต้องการ - วิธีนี้ข้อความจะมีความยาวตามที่ควรจะเป็นและข้อความก่อนและหลังจะปรากฏถัดจากนั้น (scaleX เป็นเพียงการแสดง แต่เบราว์เซอร์ยังคงเห็นองค์ประกอบ ที่ขนาดเดิมเมื่อวางตำแหน่งองค์ประกอบอื่น ๆ )
scaleYเพื่อลดความสูงของข้อความเพื่อให้เหมือนกับข้อความที่อยู่ข้างๆ
transform-originเพื่อสร้างมาตราส่วนข้อความจากด้านบนของบรรทัด
margin-bottomตั้งค่าเป็นค่าลบเพื่อไม่ให้บรรทัดถัดไปอยู่ต่ำกว่ามากโดยเฉพาะอย่างยิ่งเปอร์เซ็นต์เพื่อที่เราจะไม่เปลี่ยนคุณสมบัติ line-height
แนวตั้งตั้งไว้ด้านบนเพื่อป้องกันไม่ให้ข้อความก่อนหรือหลังลอยไปที่ความสูงอื่น ๆ (เนื่องจากข้อความที่ยืดมีขนาดจริง 32px)
- องค์ประกอบช่วงอย่างง่ายมีขนาดตัวอักษรเป็นข้อมูลอ้างอิงเท่านั้น
คำถามที่ถามหาวิธีที่จะป้องกันไม่ให้เกิดความกล้าหาญของข้อความที่เกิดจากการยืดและฉันยังไม่ได้รับอย่างใดอย่างหนึ่ง แต่font-weightทรัพย์สินมีค่ามากกว่าแค่เรื่องปกติและเป็นตัวหนา
ฉันรู้ว่าคุณไม่เห็นสิ่งนั้น แต่ถ้าคุณค้นหาแบบอักษรที่เหมาะสมคุณสามารถใช้ค่าเพิ่มเติมได้