細節藏在邊線裡:如何用linear-gradient打造高質感裝飾線條

更新 發佈閱讀 4 分鐘

當我們在切版時,面對設計稿上的分隔線反應往往是寫下 border-bottom: 1px solid #000;。若是想要一點變化,也許會改成 dasheddotted,或者可以使用偽元素::before::after,但你是否曾覺得,border預設的虛線樣式太過呆版,圓點太圓,且間距無法調整,顏色也只能選一種。

今天來分享一段透過 linear-gradient 模擬出的高質感裝飾線條,為你的網頁帶來彷彿「精緻縫線」般的細節。

傳統邊線的極限

普通的 border 屬性雖然方便,但它的極限在於:

  1. 無法控制節奏:你不能決定虛線的長度是 5px 而間距是 2px。
  2. 無法多色混合:一條邊線只有一種顏色。

而透過 CSS 的 background 來繪製線條,我們可以像像素畫家一樣,精確控制這條線上的每一個像素。

::before + background: linear-gradient 代碼解析

raw-image

讓我們來看看如何透過CSS實現如上圖的效果:

.container::before {
content: "";
width: 100%;
min-height: 2px;
position: absolute;
top: 50%;
right: 0;

/* 重點在這裡 */
background: linear-gradient(
to right,
#DEE4E7 0,
#DEE4E7 2px, /* 第一段顏色:2px 寬 */
transparent 2px,
transparent 3px, /* 第一段間距:1px 寬 */
#D2DDE2 3px,
#D2DDE2 4px, /* 第二段顏色(較短):1px 寬 */
transparent 4px,
transparent 5px /* 第二段間距:1px 寬 , 以上為一個循環*/
);
background-size: 5px 2px; /* 定義一個循環的總寬度 */
background-repeat: repeat-x;
}

這段代碼創造的不是一條邊線,而是一個像素圖案的無限循環。就像是花磚作品一樣,background-size: 5px 2px; 定義了一個 5px 寬的「花磚」,這塊花磚的內容是:

  • 0px - 2px: 淺灰藍色實線 (長度 2px)
  • 2px - 3px: 透明 (間距 1px)
  • 3px - 4px: 深一點的灰藍色 (長度 1px)
  • 4px - 5px: 透明 (間距 1px)

藉由設定不同顏色以及長度的小磁磚,可以拼貼出具有節奏感(長——空—短—空)的效果,且配合#DEE4E7#D2DDE2 兩個非常接近但略有深淺的顏色,這些細微的差異,讓螢幕上的單純像素彷彿縫紉機留下的縫線,為網頁添加了一份手工感。

此外,透過使用 transparent(透明),讓背景圖案可以透出來,使得分隔線與整體頁面融合得更自然,不會像實線那樣產生強烈的「切割感」。

最後附上codePen,這裡為了清楚起見,將我們的「花磚」放大了十倍!

結語

網頁設計的質感往往不是來自於詳細的資訊或酷炫的動畫,而是來自於這些 1px、2px 的微小堅持。下次當你想用 border 時,不妨試試看::before 結合linear-gradient,為你的使用者介面縫上一條更有溫度的線,謝謝收看!

留言
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