css 相关操作

400 字
2 分钟
css 相关操作

clamp#

clamp 解释#

clamp()函数主要用于响应式前端页面中,比如控制字体大小等。

clamp(MIN, VAL, MAX)
clamp()函数接受三个用逗号分隔的参数,分别为最小值、首选值,最大值。
html{ font-size: 62.5%;}
p{ font-size: clamp(1.5rem, 2.5vw, 2.5rem); }

我们知道 vw 是一种视窗单位,能实现页面内的字体大小跟随视口大小变化而改变。如上定义的字体大小取决于两个方面,浏览器视口大小和页面基础字体大小。

分析: 我们设置基础字体为 html{ font-size: 62.5%;},浏览器默认字体大小为 16px,即基础字体为 16×62.5% = 10px。则 clamp()函数定义的最小尺寸为 1.5rem = 15px,最大字体尺寸为 2.5rem = 25px。 当视口大小为 640px 时(iphone5 机型),则 100vw=640px,推导出 1vw=6.4px,则 2.5vw = 16px。因为 16px > 15px,则此时字体大小为 16px,即首选值。 当视口大小为 1024px 时(ipad 机型),100vw = 1024px,推导出 2.5vw = 25.6px。因为 25.6px 大于 clamp()函数设置的最大值 25px,则此时字体大小只能为最大值 25px。

clamp 自动生成#

网址:https://utopia.fyi/type/calculator?c=1920,12,1.2,2440,24,1.25,6,4,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12

设置页面范围给定字体大小
设置页面范围给定字体大小

将页面下方 CSS Generator 复制到项目中(一般放在全局的 css 文件里)

/_ @link https://utopia.fyi/type/calculator?c=1920,12,1.2,2440,24,1.25,6,4,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 _/
:root {
--step--4: clamp(0.3619rem, -0.5704rem + 0.7769vw, 0.6144rem);
--step--3: clamp(0.4338rem, -0.8009rem + 1.0288vw, 0.7681rem);
--step--2: clamp(0.5206rem, -1.1017rem + 1.3519vw, 0.96rem);
--step--1: clamp(0.625rem, -1.4981rem + 1.7692vw, 1.2rem);
--step-0: clamp(0.75rem, -2.0192rem + 2.3077vw, 1.5rem);
--step-1: clamp(0.9rem, -2.7rem + 3vw, 1.875rem);
--step-2: clamp(1.08rem, -3.5862rem + 3.8885vw, 2.3438rem);
--step-3: clamp(1.2963rem, -4.7361rem + 5.0269vw, 2.93rem);
--step-4: clamp(1.555rem, -6.2242rem + 6.4827vw, 3.6619rem);
--step-5: clamp(1.8663rem, -8.1445rem + 8.3423vw, 4.5775rem);
--step-6: clamp(2.2394rem, -10.6191rem + 10.7154vw, 5.7219rem);
}

使用:

.header{
font-size: var(--step-0);
}

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
css 相关操作
https://zhangzhiwu.cn/posts/vue/css/
作者
zZw
发布于
2023-12-28
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
zZw
看著窗外的光 分不清是路燈還是太陽
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
26
分类
10
标签
44
总字数
13,461
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.14.5
文章许可
CC BY-NC-SA 4.0