, как мы знаем, контент с высотой 100%
означает 100%
его родителя, и, хотя высота родителя не определена, вызовет ошибку, с которой вы застряли, вы установите с помощью * От 1003 * до 100%
, но вы ошиблись, вы бы установили его на 100vh
, чтобы он соответствовал экрану, если вы находитесь за компьютером, и другие ошибки, которые я обнаружил, были в ваших вычислениях, где вы использовали для вычитания измерения, которое находится в долях от один в пикселях height: calc(100% - 150px);
, а остальные - с простыми ошибками
html,
body {
height: 100vh;
}
.app {
position: relative;
height: 100%;
display: flex;
}
.interface {
position: absolute;
height: 100%;
top: 15%;
}
.view {
position: fixed;
height: 100%;
background-color: #ccc;
width: 350px;
}
.body {
position: relative;
height: 100%;
}
.body .top {
height: 15%;
border: 1px solid #000;
}
.body .middle {
height: 60%;
border: 1px solid red;
}
.body .bottom {
height: 20%;
border: 1px solid green;
}
<div class="app">
<div class="interface">
<div class="view">
<div class="body">
<div class="top">
Top content
</div>
<div class="middle">
Middle content
</div>
<div class="bottom">
Bottom content
</div>
</div>
</div>
</div>
</div>
, чтобы увидеть результат во фрагменте, вы должны наблюдать его на всей странице, а также когда вы видите результат через jsfiddle там, в разделе результатов есть полоса вниз которые скрывают некоторую часть footer