Thuộc tính wordBreak kiểm soát cách ngắt dòng cho các script **không phải CJK** (Chinese, Japanese, Korean). Giá trị: normal (mặc định), break-all (ngắt ở bất kỳ ký tự nào), keep-all (không ngắt CJK), break-word (ngắt từ dài - deprecated, dùng overflow-wrap).
Ví dụ minh họa
Mã sau bật break-all cho div宽度固定, khiến văn bản liền mạch ngắt xuống dòng khi nhấn nút:
<!DOCTYPE html>
<html>
<head>
<style>
#box {
width: 150px;
height: 120px;
background-color: lightblue;
border: 1px solid black;
padding: 10px;
}
</style>
</head>
<body>
<button onclick="setWordBreak()">Đặt word-break = break-all</button>
<div id="box">
ĐâyLàVănBảnDemoKhôngCóKhoảngTrắngĐểTestWordBreakĐâyLàVănBảnDemoKhôngCóKhoảngTrắngĐểTestWordBreak
</div>
<script>
function setWordBreak() {
document.getElementById("box").style.wordBreak = "break-all";
/* Văn bản dài không space sẽ bị ngắt mạnh ở bất kỳ ký tự nào để vừa hộp */
}
</script>
</body>
</html>
Các giá trị wordBreak
| Giá trị | Hành vi | Dùng cho |
|---|---|---|
normal | Ngắt theo quy tắc ngôn ngữ (CJK ngắt ký tự, non-CJK ngắt từ) | Văn bản thông thường |
break-all | Ngắt ở **bất kỳ ký tự** nào (non-CJK cũng ngắt như CJK) | Mã code, URL dài, ID, hash không có space |
keep-all | **Không ngắt** CJK (chỉ ngắt ở space/punctuation) | Văn bản CJK muốn giữ từ nguyên vẹn |
break-word | Ngắt từ dài nếu không vừa (deprecated) | Dùng overflow-wrap: break-word thay thế |
wordBreak vs overflowWrap (wordWrap)
| Thuộc tính | Ngắt ở đâu | Khi nào dùng |
|---|---|---|
wordBreak: break-all | Bất kỳ ký tự nào | Mã, hash, ID — chấp nhận ngắt giữa từ |
overflow-wrap: break-word | Chỉ ngắt từ quá dài khi **không có chỗ khác** | Văn bản thường — ưu tiên giữ từ nguyên vẹn |
Khuyến nghị: Dùng overflow-wrap: break-word (tên cũ: wordWrap) cho văn bản thường. Chỉ dùng wordBreak: break-all khi thực sự cần ngắt ký tự đơn lẻ.