vw 和 clamp()

今天看到一个新的响应式方法,记录一下

vw (Viewport Width) 是一个与视口直接关联的单位,1vw 等于视口宽度的 1%。这意味着,元素的尺寸会随着浏览器窗口的拉伸或收缩,进行实时、平滑、无级的缩放。

复制代码
.title {
  /* 字体大小永远是视口宽度的 5% */
  font-size: 5vw;
}

vw 缺陷:缺乏边界 。在超大屏幕上,5vw 的字体会变得巨大无比;在极小的手机屏幕上,它又可能小到无法阅读。

clamp(),动态范围约束

基本语法,clamp(最小值, 首选值, 最大值);这样属性值设置在了一个灵活区 ,既能响应式变化,又不会过大或过小。

css 复制代码
font-size: clamp(14px, 2vw, 20px);
/* 字体最小 14px,最大 20px,在两者之间根据视口宽度自动变化。*/

button {
  padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
}


img {
  width: clamp(200px, 50vw, 600px);
}
相关推荐
小村儿3 分钟前
连载10-Sub-agents 深度解析:从源码理解 Claude Code 的分身术
前端·后端·ai编程
IT_陈寒37 分钟前
Vite动态导入把我坑惨了,原来要这样用才对
前端·人工智能·后端
DFT计算杂谈40 分钟前
KPROJ编译教程
java·前端·python·算法·conda
觅_43 分钟前
前端学习后端的时候 选择一个技术
前端·学习
独泪了无痕1 小时前
CryptoJS:数据安全的JavaScript加密利器
前端·vue.js·node.js
发现一只大呆瓜1 小时前
一文搞懂 Vite 处理CommonJS包、按需编译逻辑及 Rollup 插件兼容规则
前端
Edwardwu1 小时前
写了个y-mxgraph:给 draw.io 接上了 Yjs,顺便解决了部署在 iframe 里的一堆问题
前端·typescript
其实防守也摸鱼1 小时前
软件安全与漏洞--软件安全编码
java·前端·网络·安全·网络安全·web·工具
发现一只大呆瓜2 小时前
Vite 开发预构建机制详解,搞懂 esbuild 与 Rollup 分工差异
前端·面试·vite
熊猫_豆豆2 小时前
一个模拟四轴飞行器在随机气流扰动下悬停飞行的交互式3D仿真网页,包含飞行器建模与PID控制算法
javascript·3d·html·四轴无人机模拟飞行