浅谈 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 取宽度。
相关推荐
JustHappy42 分钟前
「Versakit攻略」🔥Pnpm+Monorepo+Changesets搭建通用组件库项目和发包流程
前端·javascript·vue.js
紫金龙腾1 小时前
EDGE 、chrome、浏览器显示“由你的组织管理”
前端·chrome·edge
用户66197734585751 小时前
Vue3笔记
前端·vue.js
2401_837088503 小时前
ref 简单讲解
前端·javascript·vue.js
折果3 小时前
如何在vue项目中封装自己的全局message组件?一步教会你!
前端·面试
不死鸟.亚历山大.狼崽子3 小时前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
汪子熙3 小时前
Vite 极速时代的构建范式
前端·javascript
跟橙姐学代码3 小时前
一文读懂 Python 的 JSON 模块:从零到高手的进阶之路
前端·python
前端小巷子4 小时前
Vue3的渲染秘密:从同步批处理到异步微任务
前端·vue.js·面试
nightunderblackcat4 小时前
新手向:用FastAPI快速构建高性能Web服务
前端·fastapi