min() 和 max() 是 css 函数,用于设置尺寸上下限,必须写在 css 中而非 html;html 的 min/max 是表单属性,与布局无关。

min() 和 max() 是 CSS 函数,不是 HTML 属性
很多人搜“HTML 中 min max 函数”,实际想用的是 CSS 的 min() 和 max(),它们不能写在 HTML 标签里(比如 <div min="100px"> 无效),必须写在 CSS 规则中。HTML 里的 <code>min 和 max 是表单元素的**属性**(如 <input type="number" min="0" max="100">),和尺寸控制无关——别混用。
用 min() 控制“最大允许尺寸”
min() 返回参数中的最小计算值,适合设上限:防止元素过大撑破布局。
- 错误写法:
width: min(100%, 800px)—— 这里的100%是父容器宽,不是视口,结果不流式 - 正确写法:
width: min(100vw, 800px)—— 小屏取375px(375vw),大屏卡死在800px - 字体防缩太小:
font-size: min(4rem, 8vw),确保大屏不爆炸、小屏不糊成一片 - 慎用单位混搭:
min(200px, 50%)在不同上下文中可能意外取到50%或200px,建议用clamp()替代三值场景
用 max() 控制“最小允许尺寸”
max() 返回参数中最大计算值,适合设下限:防止元素过小失去可读性或交互性。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- 内边距自适应:
padding-inline: max(1rem, 5vw),小屏用5vw(更宽松),大屏保底1rem - 避免文字被压扁:
min-width: max(320px, 20vw)—— 注意不能写成min-width: min(...),浏览器会忽略 - 搭配
calc()做线性字号:font-size: max(14px, calc(12px + 0.5vw)),先算弹性值,再兜底最小值 - IE 完全不支持,现代项目可加回退:
width: 800px; width: min(100vw, 800px);
容易被忽略的关键点
这些函数不自动响应屏幕变化——它们只在计算时取当前值。真正驱动“弹性”的是 vw、rem 这类相对单位,min()/max() 只是加一道卡口。另外,100vw 包含滚动条宽度,可能造成横向溢出;若需精确视口宽,优先用 100dvw(如支持),否则加 overflow-x: hidden 补救。










