來點CSS 多行文字底線:告別不完整底線,打造優雅網頁排版

更新 發佈閱讀 3 分鐘

在設計網頁文字時,會需要在文字加上「底線」來強調重點,但一般的 text-decoration: underline; 有一個限制 —— 在具有多行文字時,在最後一行文字的底線無法填滿整行文字段落,而是只能文字尾端,看起來不夠美觀。

這篇文章要教你用一小段 CSS,製作出更「優雅」的多行底線效果 ✨


🔹 一般底線(基本用法)

text-decoration: underline;
text-underline-offset: 10px;
text-decoration-color: #CCCCCC;
text-decoration-thickness: 2px;

這組設定能調整底線與文字的距離、顏色、粗細,不過只會在文字本身下方畫線,不會隨著文字換行時延伸到底部。效果如下:


🔹 另一種做法:使用 background-image 模擬底線

想要「每一行文字都具有完整底線」的效果,可以使用 background-image 製作重複的底線圖層。

line-height: 1.8;
background-image:
repeating-linear-gradient(
transparent,
transparent calc(1.8em - 2px),
pink calc(1.8em - 2px),
pink 1.8em
/* 1.8em對應於文字的行高設定,2px則為底線的高度*/
);
background-size: 100% 1.8em;
/* 設定每一行的高度 */
padding-bottom: 2px;
/* 透過padding預留空間給底線 */

這段語法的原理是:

  • 使用 線性漸層 (linear-gradient) 畫出一條粉紅色底線;
  • transparent 代表空白區;
  • calc(1.8em - 2px) 控制底線與文字行距;
  • background-size 設定每一行的高度;
  • repeating-linear-gradient 讓線條自動重複,形成「多行底線」的效果。

效果如下:


💡 延伸應用:

  • 可以改變顏色以及底線高度來做出螢光筆風格 (background-color 淡黃色)
  • 或配合文字的行高來調整 background-size 以控制底線之間的距離
  • 也可以結合動畫,讓底線緩慢出現,作為強調效果

以上為關於文字底線的介紹,感謝收看。

留言
avatar-img
dizzydog的沙龍
4會員
10內容數
親愛的訪客您好!我是 dizzydog,一位熱衷於前端技術的工程師。這個部落格是我的數位筆記本,記錄著我在程式開發路上的各種發現、挑戰與突破。我相信「輸出」是最有效的學習方式,透過清晰地表達所學,不僅能加深自己的理解,也能幫助其他走在相同道路上的開發者。 歡迎您在這裡探索以及交流。
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
說到 HTML 元素的換行效果,在前端有滿多種實作方式的最常見的方式是使用 <br /> 這個 HTML 元素來進行換行 ⋯⋯
Thumbnail
說到 HTML 元素的換行效果,在前端有滿多種實作方式的最常見的方式是使用 <br /> 這個 HTML 元素來進行換行 ⋯⋯
Thumbnail
因為被 position 打敗,就要在 position 這裡站起來!
Thumbnail
因為被 position 打敗,就要在 position 這裡站起來!
Thumbnail
display 是一種 CSS 屬性,指定「 是否 / 如何 」顯示元素,而每一個 HTML element 都有預設的 display value,然而在預設的情況下,新手如我在剛接觸時常踩入深不見底的盲區, 一起來釐清學會辨識吧!
Thumbnail
display 是一種 CSS 屬性,指定「 是否 / 如何 」顯示元素,而每一個 HTML element 都有預設的 display value,然而在預設的情況下,新手如我在剛接觸時常踩入深不見底的盲區, 一起來釐清學會辨識吧!
Thumbnail
相信透過之前的介紹,大家對於 CSS 選擇器(CSS selector)已經不陌生了,今天我們要來聊聊兩個在實務上非常好用的偽類(pseudo class )語法,他們分別是 :nth-child() 與 :nth-of-type(),在了解這兩個語法之前,我們首先要先來聊聊什麼是「偽類」呢?
Thumbnail
相信透過之前的介紹,大家對於 CSS 選擇器(CSS selector)已經不陌生了,今天我們要來聊聊兩個在實務上非常好用的偽類(pseudo class )語法,他們分別是 :nth-child() 與 :nth-of-type(),在了解這兩個語法之前,我們首先要先來聊聊什麼是「偽類」呢?
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
Thumbnail
相信大家在一開始接觸 CSS 時,一定會很疑惑為什麼除了 width 外,還會有 max-width 及 min-width 語法呢? 當要開發響應式網頁時,到底要使用什麼語法來控制「斷點」?
Thumbnail
相信大家在一開始接觸 CSS 時,一定會很疑惑為什麼除了 width 外,還會有 max-width 及 min-width 語法呢? 當要開發響應式網頁時,到底要使用什麼語法來控制「斷點」?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News