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);
}
相关推荐
万少6 分钟前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站2 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名5 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫5 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊5 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter5 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折5 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_6 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
不会敲代码16 小时前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
Angelial6 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js