You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

区块高度计算不符合预期:calc("100vh - 90px")失效问题

问题解决方案

你的问题出在calc()的语法错误上:你使用的calc(~"100vh - 90px")是Less/Sass预处理器的转义写法,若在原生CSS环境中运行,浏览器无法识别这个表达式,导致.section1的高度设置失效。

修正方案一:原生CSS标准写法

直接移除Less的转义符~"",使用原生CSS的calc()语法即可:

html,
body {
  margin: 0;
  padding: 0;
}

.nav-menu {
  background-color: purple;
  height: 90px;
}

.section1 {
  height: calc(100vh - 90px);
  background-color: red;
}

HTML代码无需修改:

<nav class="nav-menu"></nav>
<div class="section1"></div>

修正方案二:Flex布局实现(更灵活)

如果不想使用calc(),可以通过Flex布局让.section1自动填充剩余视口空间:

html,
body {
  margin: 0;
  padding: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.nav-menu {
  background-color: purple;
  height: 90px;
}

.section1 {
  flex: 1;
  background-color: red;
}

内容的提问来源于stack exchange,提问作者skate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 02:55:21