首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

HTML 文本換行技巧:wbr、soft hyphen 與 CSS word-break 完全指南

     編輯:程式設計疑難解答

在 HTML 中控制文本換行行為,除了 <br> 強制換行,還有針對「寬度不足時自動換行、寬度足夠則單行顯示」的語義化標籤與 CSS 屬性。本文整理最實用的方案,解決長單詞、URL、代碼片段換行難題。

核心標籤:<wbr> (Word Break Opportunity)

<wbr> 告訴瀏覽器:「這裡可以換行,但不強制換行」。適用於長單詞、URL、代碼中允許斷行的位置。

<p>這是一個超長的URL:https://example.com/very/long/path/that/might/need/to/break<wbr>/at/appropriate<wbr>/places</p>

軟連字符:&shy; (Soft Hyphen)

&shy; 在需要換行時顯示連字符「-」,不換行時完全隱視。適合多語言環境下的單詞斷行。

<p>超長德文單詞:Donaudampfschifffahrt&shy;selektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft</p>

CSS 方案:word-break、overflow-wrap、white-space

屬性 值 行為 適用場景
word-break normal 依照語言規則斷行(預設) 一般文本
break-all 任意字符間斷行,不遵循語言規則 代碼、ID、連續英文/數字
keep-all 中日韓文不斷行,僅在空白處斷行 中文標題、按鈕文字
overflow-wrap (word-wrap) normal 僅在正常斷行點斷行 預設
break-word 單詞過長無法容納時強制斷行 防止容器撐破,推薦通用
white-space normal 合併空白,自動換行 一般段落
nowrap 不換行,溢出隱藏/滾動 單行省略號配合 text-overflow: ellipsis
pre-wrap 保留空白並自動換行 代碼展示、詩歌排版

最佳實踐組合

.text-auto-wrap {
  word-break: break-all;      /* 允許字符級斷行 */
  overflow-wrap: break-word;  /* 單詞過長強制斷行 */
  white-space: normal;        /* 自動換行 */
}

總結

  • 語義化控制:用 <wbr>、&shy; 標記「可斷行點」。
  • 全域樣式:用 overflow-wrap: break-word 防止容器撐破。
  • 代碼/數據:用 word-break: break-all + white-space: pre-wrap。
  • 按鈕/標題:用 white-space: nowrap + text-overflow: ellipsis 單行省略。

根據內容類型選擇適當方案,才能兼顧閱讀體驗與視覺美觀。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved