div高度计算(100%-50px)不起作用

Jos*_*ung -3 css css3

https://codepen.io/joshuajazleung/pen/EbbgBN

<div class="outer">
  <div class="inner">
    <img src="https://placehold.it/300x200" alt="">
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Optio animi harum impedit ex esse labore, placeat, tempore sapiente nisi cupiditate fugiat soluta ullam dicta ducimus accusamus tenetur consequuntur nesciunt earum!</div>
  </div>
</div>

.outer {
  background: red;
  position: relative;
  height: calc(100% - 60px);
}

.inner {
  position: relative;
  top: -100px;
}
Run Code Online (Sandbox Code Playgroud)

因为.inner移到顶部一点,以减少.out的总体空间,所以我使用

height: calc(100% - 50px); // my logic is that it's div's height minus 50px
Run Code Online (Sandbox Code Playgroud)

但这不起作用,想知道为什么吗?

zyn*_*nkn 5

.outer {
  background: red;
  position: relative;
  height: calc(100vh - 50px);
}
Run Code Online (Sandbox Code Playgroud)

尝试更改100%=>100vh