CSS 流体排版 Clamp 计算器

输入最小/最大视口与字号边界,输出 clamp() 表达式、可复制 CSS 与实时预览数据

根据视口与字号边界计算 fluid typography 的斜率和截距,输出可复制的 clamp() 与预览 HTML。

示例结果

1 个示例

为标题文字生成 clamp 表达式

把 360px 视口下的 16px 到 1440px 视口下的 32px 做成流体标题比例。

{
  "clampExpression": "clamp(1rem, 0.6667rem + 1.4815vw, 2rem)"
}
查看输入参数
{ "minViewportPx": 360, "maxViewportPx": 1440, "minFontPx": 16, "maxFontPx": 32, "rootFontPx": 16, "sampleText": "Fluid headline" }

关键信息

分类
设计与颜色
输入类型
number, text
输出类型
json
样本覆盖
4
支持 API
Yes

概览

本工具是专为前端开发者和网页设计师打造的 CSS 流体排版 Clamp 计算器。只需输入最小与最大视口宽度、最小与最大字号以及根字号,即可自动计算出精确的斜率与截距,并生成可直接复制的 CSS clamp() 表达式,帮助您轻松实现无缝响应式的字体缩放效果。

适用场景

  • 需要在移动端到桌面端之间实现字体大小平滑过渡,避免编写繁琐的媒体查询时。
  • 构建响应式设计系统,需要根据视口宽度动态调整标题或正文字号时。
  • 需要快速计算 CSS clamp() 函数中的首选值(包含 vw 和 rem/px 的混合表达式)时。

工作原理

  • 输入目标设计的最小视口宽度与最大视口宽度(单位为像素)。
  • 设定对应的最小字号与最大字号,并指定当前项目的根字号(默认为 16px)。
  • 系统根据线性插值公式自动计算出视口变化时的斜率与截距,并输出以 rem 和 vw 为单位的 clamp() 表达式。

使用场景

移动端优先的响应式网页设计,使大标题在手机和 4K 屏幕上都能完美呈现。
规范化前端 UI 组件库中的排版系统,减少 CSS 代码中的媒体查询数量。
快速重构旧项目中的固定字号,将其升级为现代的流体响应式布局。

用户案例

1. 移动端到桌面端标题流体化

前端开发工程师
背景原因
正在开发一个响应式企业官网,需要让主标题(H1)在 360px 视口下为 24px,在 1440px 视口下平滑放大到 48px。
解决问题
手写媒体查询会导致代码冗长,且字号变化有突变感,不够平滑。
如何使用
在计算器中输入最小视口 360,最大视口 1440,最小字号 24,最大字号 48,根字号保持 16。
示例配置
minViewportPx: 360, maxViewportPx: 1440, minFontPx: 24, maxFontPx: 48, rootFontPx: 16
效果
获得 clamp(1.5rem, 1rem + 2.2222vw, 3rem) 表达式,直接应用于 H1 样式中,实现无缝平滑缩放。

2. 适配平板与大屏的正文字体微调

UI 设计师兼前端
背景原因
需要为博客文章的正文设置流体字号,在 768px 视口下为 16px,在 1920px 视口下为 20px。
解决问题
需要精确计算出符合比例的 vw 斜率,避免在大屏上文字过大或在平板上文字过小。
如何使用
输入最小视口 768,最大视口 1920,最小字号 16,最大字号 20,根字号 16。
示例配置
minViewportPx: 768, maxViewportPx: 1920, minFontPx: 16, maxFontPx: 20, rootFontPx: 16
效果
生成 clamp(1rem, 0.8333rem + 0.3472vw, 1.25rem),确保正文在各种中大屏幕设备上都具备极佳的可读性。

用 Samples 测试

text

相关专题

常见问题

什么是 CSS clamp() 函数?

clamp() 函数接收三个参数:最小值、首选值和最大值。它允许属性值在设定的范围内随着视口大小动态变化,超出范围时则锁定在最值。

为什么要使用 rem 和 vw 混合作为首选值?

混合使用 rem 和 vw 可以确保在视口缩放时字体平滑过渡,同时保留用户在浏览器中手动调整默认字号的可访问性。

根字号(Root Font Size)有什么作用?

根字号用于将输入的像素值(px)转换为相对单位(rem),通常浏览器的默认根字号为 16px。

这个计算器支持计算除字体大小以外的属性吗?

支持。虽然主要用于流体排版,但生成的 clamp() 表达式同样适用于 padding、margin 等任何支持长度单位的 CSS 属性。

如果视口超出最大或最小范围,字号会怎样变化?

当视口小于最小视口时,字号将固定为设定的最小值;当视口大于最大视口时,字号将固定为设定的最大值。

API 文档

请求端点

POST /zh/api/tools/css-fluid-typography-clamp-calc

请求参数

参数名 类型 必填 描述
minViewportPx number -
maxViewportPx number -
minFontPx number -
maxFontPx number -
rootFontPx number -
sampleText text -

响应格式

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON数据: JSON数据

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-css-fluid-typography-clamp-calc": {
      "name": "css-fluid-typography-clamp-calc",
      "description": "输入最小/最大视口与字号边界,输出 clamp() 表达式、可复制 CSS 与实时预览数据",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=css-fluid-typography-clamp-calc",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]