手写风格字体栈生成 - 系统手写体调用
生成优先调用系统自带手写风格字体的font-family栈,让网页更亲切。
UD5工具箱
提示:拖拽容器右侧的蓝色手柄,或使用左侧滑块来调整容器宽度。文本字号会自动缩放以适应容器。
font-size: clamp(14px, 4.5vw, 120px);
使用 clamp() 函数实现字体随容器宽度平滑缩放。浏览器支持 Chrome 79+, Firefox 75+, Safari 13.1+。
/* 需要容器定义 container-type */
.container {
container-type: inline-size;
}
.text {
font-size: clamp(14px, 4.5vw, 120px);
}
容器查询 Chrome 105+, Safari 16+, Firefox 110+。需父元素设置 container-type: inline-size。
clamp()函数配合vw单位、JavaScript动态计算、以及CSS容器查询(Container Queries)。
clamp(MIN, PREFERRED, MAX) 是CSS的数学函数,它接收三个参数:最小值、首选值和最大值。函数返回首选值,但如果首选值小于最小值则返回最小值,大于最大值则返回最大值。font-size: clamp(14px, 4vw, 80px); 表示字号在14px到80px之间,首选使用视口宽度的4%。在小屏幕上4vw可能小于14px,此时字号锁定为14px;在大屏幕上4vw可能超过80px,此时字号锁定为80px;在中间范围内字号随视口宽度平滑缩放。这种技术无需JavaScript,性能极佳,是现代响应式字体的最佳实践。
vw(Viewport Width)是CSS中的视口单位,1vw等于视口宽度的1%。使用vw设置字体时,文字大小会随浏览器窗口宽度自动缩放。font-size: 5vw; 在1920px宽的屏幕上等于96px,在375px宽的手机屏幕上等于约19px。配合clamp()可以限制缩放范围,避免文字过小或过大。cqi(Container Query Inline)单位,或者使用JavaScript根据容器实际宽度动态计算。
container-type: inline-size;@container (min-width: Xpx) { ... } 设置条件样式font-size@container (max-width: 400px) { .text { font-size: 16px; } }@container (min-width: 401px) and (max-width: 800px) { .text { font-size: 28px; } }@container (min-width: 801px) { .text { font-size: 48px; } }white-space: nowrap):字号计算相对简单,目标是让整行文字恰好填满容器宽度。文本不会换行,字号与所需宽度呈线性关系——字号翻倍,文本宽度也翻倍。这使得使用clamp()配合vw的线性插值非常精确。clamp();正文段落使用固定字号或容器查询设置断点字号。
clamp()时,最小值不应小于14-16px,确保在小屏手机上也能清晰阅读。font-size: 3vw;在320px宽屏幕上仅9.6px,几乎无法阅读。务必使用clamp()设置下限。rem、em配合clamp()可以兼顾用户字体偏好设置。clamp()方案,只有需要基于容器精确计算时使用JS。
clamp()函数的浏览器支持情况(截至2024年):font-size: 24px; /* fallback */font-size: clamp(16px, 4vw, 48px);vw = ((S2 - S1) / (W2 - W1)) × 100font-size: clamp(S1, Xvw, S2);vw = ((80-16) / (1000-300)) × 100 = (64/700) × 100 ≈ 9.14vwfont-size: clamp(16px, 9.14vw, 80px);clamp()不会影响性能指标;JavaScript方案如果实现不当可能导致布局偏移(CLS),影响排名。clamp()实现字体自适应是SEO友好的方案,既提升用户体验,又不会对搜索引擎抓取产生负面影响。
生成优先调用系统自带手写风格字体的font-family栈,让网页更亲切。
通过下拉选择宽度、高度、分辨率等,逻辑组合并生成完整的@media规则。
加载SVG文件,查看和修改其内部<title>, <desc>等元数据,提升可访问性。
将复杂嵌套JSON数组转为CSV,支持选择性展平列和排除字段,适配数据导出需求。
同时展示两种盒模型下元素的尺寸变化,直观理解宽度计算差异。
单独对元素背景区域应用模糊、亮度、灰度等滤镜,生成兼容的CSS backdrop-filter属性。
输入名字,生成带有首字母的彩色圆形头像,适合无头像用户使用。
上传或粘贴SVG,将其编码为可安全嵌入CSS的background-image: url(data:...)字符串。
对图片应用多种滤镜组合,对比原图与效果,学习 filter 属性的视觉影响。
调整光源和圆角,生成带嵌入感的凹槽或按下状态的CSS样式。
输入JSON Schema,自动渲染出一个美观可用的表单界面(演示)。
输入文字颜色和背景颜色,计算对比度比例,验证是否符合WCAG 2.1的AA/AAA级无障碍标准。
通过表单设置方法、头、体等参数,自动生成对应的 cURL 命令,方便复制执行。
输入服务地址与方法,构造 gRPC-Web 请求,查看二进制帧与反序列化后的响应消息。
创建左右布局的对话气泡样式,配置尾巴方向和颜色,生成聊天组件。
预览常见的 native font stacks(如苹果、Windows系统字体)的实际显示效果。
在浏览器生成PGP公私钥对,用于邮件加密与签名验证演示。
上传Lottie JSON,解析路径并将所有关键帧导出为单独的SVG文件。
生成与原生HTML5音频播放器配套的音频频谱可视化组件代码。
选择国家,生成符合当地格式的随机假地址,包括街道、城市、邮编和电话号码。
上传SVG,自动生成多种尺寸的透明PNG表情包,适合聊天分享。
输入meta标签属性,模拟显示Twitter分享卡片的大图或小图样式,检验标记是否正确。
为图片生成同时支持WebP和传统格式的<picture>标签代码,确保全浏览器兼容。
可视化定制弹窗样式、按钮文案和动画,生成替换原生alert的HTML/CSS/JS代码。
输入Accept-Language标头值,按权重排序并匹配你的支持语言列表,辅助多语言应用开发。
上传人像,粗略保留前景,将背景高斯模糊,模拟大光圈效果。
录制一段语音,生成带有音频波形和自定义文本的分享卡片图片。
快速创建FAQ样式的手风琴列表,填入问题与答案,生成HTML/CSS/JS交互代码。
同时播放雨声、风扇、咖啡店等多种环境音,独立调节音量,营造专注或休息氛围。
利用浏览器内置SubtleCrypto生成RSA-OAEP或RSASSA-PKCS1密钥对,并导出为JWK或PEM格式(前端安全)。