浅谈 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 取宽度。
相关推荐
摸鱼的春哥17 分钟前
Agent教程15:认识LangChain(中),状态机思维
前端·javascript·后端
明月_清风23 分钟前
告别遮挡:用 scroll-padding 实现优雅的锚点跳转
前端·javascript
明月_清风26 分钟前
原生 JS 侧边栏缩放:从 DOM 监听到底层优化
前端·javascript
万少9 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站12 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名14 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫14 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊14 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter14 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折15 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium