浅谈 CSS 中 vmin 和 vmax

========== 生活化例子 ==========

  1. vmin 的例子 : 假设你用手机(竖屏)浏览网页,屏幕高度比宽度大。使用 5vmin 会取屏幕宽度和高度中较小的那个值(这里是宽度)的 5%。这样字体或元素大小会根据手机宽度调整,确保在小屏幕上不会太大。

  2. vmax 的例子 : 如果你用平板(横屏)浏览网页,屏幕宽度比高度大。使用 5vmax 会取屏幕宽度和高度中较大的那个值(这里是宽度)的 5%。这样元素大小会适应大屏幕的宽度,看起来更协调。

========== 概念讲解 ==========

  1. vmin

    • 定义vmin 是视口(屏幕)宽度和高度中较小值 的百分比单位。1vmin 等于视口宽度或高度中较小一者的 1%。
    • 用途:适合在小屏幕上控制元素大小,避免溢出或过大。
    • 公式vmin = min(视口宽度, 视口高度) × 百分比
  2. vmax

    • 定义vmax 是视口宽度和高度中较大值 的百分比单位。1vmax 等于视口宽度或高度中较大一者的 1%。
    • 用途:适合在大屏幕上保持元素的视觉效果,避免过小。
    • 公式vmax = max(视口宽度, 视口高度) × 百分比

========== 简单记法 ==========

  1. vmin

    • 口诀:"小人取小"("小人"指较小的值)。
    • 记忆法:vmin 的 "min" 就是"最小"的意思,所以它取宽度和高度中的较小值。
  2. vmax

    • 口诀:"大人取大"("大人"指较大的值)。
    • 记忆法:vmax 的 "max" 就是"最大"的意思,所以它取宽度和高度中的较大值。

========== 图示 ==========

以下是一个 SVG 图示,直观展示 vminvmax 的区别:

这个图展示了:

  • 左边是竖屏(高度 > 宽度),vmin 取宽度。
  • 右边是横屏(宽度 > 高度),vmax 取宽度。
相关推荐
kyriewen2 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒2 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮3 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦3 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer3 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队3 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY4 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_4 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏4 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站4 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控