ข้ามไปเนื้อหาหลัก

text-wrap: balance — จัดบรรทัด heading ให้สมดุลอัตโนมัติ

text-wrap: balance ให้ browser จัดบรรทัดข้อความให้สมดุลกัน — ป้องกัน heading ที่บรรทัดสุดท้ายมีคำเดียวค้างอยู่ (orphan)

/* ก่อน: "การออกแบบ" อยู่บรรทัดสุดท้ายคำเดียว */
h1, h2, h3 {
  text-wrap: balance;  /* browser คำนวณ break point ที่สมดุล */
}
/* text-wrap: pretty — ป้องกัน orphan บรรทัดสุดท้าย
   ดีกว่า balance สำหรับ body text เพราะ balance แพงกว่า */
p {
  text-wrap: pretty;
}

เปรียบเทียบ:

valueใช้กับผล
balanceheading สั้นทุกบรรทัดยาวใกล้เคียงกัน
prettybody text ยาวแค่บรรทัดสุดท้ายไม่มี orphan
stableeditable contentไม่เปลี่ยน layout ขณะพิมพ์

ข้อจำกัด: balance ทำงานกับ element ที่มีไม่เกิน 6 บรรทัด (Chrome) — เหมาะกับ heading ไม่เหมาะกับ paragraph ยาว เพราะ browser ต้องลอง layout หลายครั้ง

Browser support: Chrome 114+, Firefox 121+, Safari 17.4+ — ใช้ production ได้แล้ว