digtools
📏
css clamp generator,

CSS Clamp 產生器

自動計算並產生 CSS clamp() 函數的最佳設定,讓響應式設計更完美。

📊
互動式圖表預覽
透過圖表直覺地查看數值隨螢幕寬度變化的曲線。
🔠
字體與間距通用
不只能用在字體大小,還支援 margin、padding 等各種屬性。
💻
多種格式瞬間輸出
可即時產生純 CSS、CSS 變數以及 Tailwind CSS 格式的程式碼。

參數設定

即時預覽

預覽螢幕寬度 768px

流式排版 (Fluid Typography)

人人生而自由,在尊嚴和權利上一律平等。

輸出的程式碼

about,

關於本工具

CSS Clamp 產生器是一款可以幫您自動產生「流式排版」(Fluid Typography) 與間距設定的工具。透過 CSS 的 clamp() 函數,讓元素的尺寸能根據螢幕寬度平滑地縮放。

您只需要輸入最小與最大的元素尺寸,以及對應的螢幕寬度,系統就會自動計算出最完美的 clamp() 算式。您可以透過互動圖表與即時預覽區來確認縮放的過渡效果,並且能一鍵將程式碼輸出為 CSS、CSS 變數或 Tailwind CSS 格式。

所有的計算都在您的瀏覽器端完成,不會將任何資料傳送至外部伺服器。完全免費,無須註冊即可立刻使用。

how to,

使用方法

STEP 1

設定參數

輸入最小與最大的螢幕寬度 (Viewport) 及對應的尺寸。此功能不限於字體大小,也可以應用在 margin、padding 等其他屬性上。

STEP 2

查看圖表與預覽

透過圖表視覺化地確認在不同螢幕寬度下,數值的變化趨勢。並利用預覽區塊模擬螢幕寬度的改變,觀察實際的渲染效果。

STEP 3

複製程式碼

在輸出區塊選擇您需要的格式 (CSS、CSS 變數、Tailwind),接著點擊複製按鈕,即可直接貼上到您的專案中。

glossary,

詞彙表

clamp()
CSS 的一個比較函數,格式為 clamp(最小值, 理想值, 最大值)。它可以設定數值的上下限,是實作不需要媒體查詢 (Media Queries) 也能平滑縮放的響應式設計的強大武器。
vw (viewport width)
CSS 的相對長度單位,代表視口 (Viewport) 寬度的 1%。例如,如果螢幕寬度是 1000px,那麼 1vw 就是 10px。它是計算與螢幕寬度連動的流式數值所不可或缺的單位。
rem
基於根元素 (通常是 <html>) 字體大小的 CSS 相對單位。使用 rem 來取代 px 是為了尊重使用者的瀏覽器偏好設定,並提升無障礙性 (Accessibility)。
流式排版 (Fluid Typography)
一種設計技巧,讓字體大小能隨著螢幕寬度「平滑地」縮放,而不是在特定斷點 (Breakpoints) 時才「跳躍式」地改變大小,確保在任何尺寸的螢幕上都有最佳的閱讀體驗。
理想值 (preferred value)
clamp() 函數中作為第二個參數的理想數值。本工具使用線性方程式的原理,將其計算為 截距(rem) + 斜率 × 100(vw),藉此實現在最大與最小限制之間的平滑過渡。
technology,

技術解析:流式排版的原理

使用 CSS clamp() 函數來實現流式排版的背後,其實就是線性函數 (一次方程式) 的數學應用。

公式的推導

如果我們有「最小尺寸 (minSize)」、「最大尺寸 (maxSize)」以及對應的「最小螢幕寬度 (minVW)」、「最大螢幕寬度 (maxVW)」,那麼斜率與截距的計算方式如下:

  • 斜率 (slope) = (maxSize - minSize) / (maxVW - minVW)
  • 截距 (intercept) = minSize - slope × minVW

利用這兩個數值,我們就能將「理想值 (preferred value)」轉換為一段以 vw 為單位的算式:截距(rem) + 斜率 × 100(vw)

與媒體查詢 (Media Queries) 的差異

傳統的 @media 查詢會在特定的斷點處產生尺寸的跳躍式改變。而 clamp() 則能保證在任何未知的螢幕寬度下都擁有平滑、線性的縮放效果。這不只讓過渡更加自然,也大幅減少了 CSS 的程式碼量並提升了維護性。

faq,

常見問題

Q.我的資料會被傳送到伺服器嗎?
不會。所有的計算都是完全在您的瀏覽器端本地進行的,絕對不會將任何資料傳送至外部。可以安心使用。
Q.這個寫法支援 IE 瀏覽器嗎?
不支援。Internet Explorer 不支援 clamp() 函數。請在 Chrome、Firefox、Safari 或 Edge 等現代瀏覽器中使用。
Q.可以用在 font-size 以外的屬性嗎?
可以。clamp() 可以應用在任何 CSS 的長度屬性上,包含 paddingmargingap 或是 width 等。您可以從工具中選擇目標屬性來產生對應的程式碼。
Q.為什麼輸出結果要使用 rem 而不是 px?
使用 rem 主要是為了無障礙性考量。如果使用者在瀏覽器設定中調大了預設的字體大小,使用 px 的設定將會忽略這個偏好;而使用 rem 的話,網站就能跟隨使用者的設定進行正確的等比例縮放。
Q.這背後的數學計算原理是什麼?
工具使用了線性方程式 (y = mx + b) 的原理。將提供的「最大/最小螢幕寬度」與「尺寸」代入,計算出對應的「斜率 (slope)」與「截距 (intercept)」,藉此利用 vw 單位產生出能夠等比例縮放的「理想值」。
use cases,

使用場景

📱響應式網頁設計

讓標題與內文從手機到桌面版都能平滑縮放,只需一行 CSS 就能搞定,大幅減少複雜的媒體查詢 (Media Queries)。

🧩設計系統 (Design Systems)

將全站的字體比例使用 clamp() 進行集中管理。將其輸出為 CSS 變數後,就能立即作為專案的設計權杖 (Design Tokens) 使用。

📏流式的間距設計

不只字體,將 clamp() 應用在 paddingmargin 或 CSS Grid 的 gap 上,可以創造出無論在任何螢幕尺寸下都完美協調的版面佈局。

🤝提升無障礙性

透過以 rem 為基礎的計算輸出,完美尊重並跟隨使用者瀏覽器的預設字體大小設定,打造符合 WCAG 規範、對所有人皆友善的網站。

Send Feedback

Please let us know your thoughts to help us improve the tool.

免責聲明

本網站提供的所有工具均可免費使用,但請用戶自行承擔使用風險。本網站對各種工具的計算結果、轉換結果及生成數據的準確性、完整性和安全性不作任何保證。因使用本工具而產生的任何損害或糾紛,運營者概不負責,敬請見諒。此外,檔案處理與計算等操作原則上均在您的瀏覽器內完成,您輸入的數據不會傳送或保存在本網站的伺服器上。