1) Viewport единицы. В данном случае 100vh. Поддержка вот такая
caniuse.com/#search=viewport
2) Если ваш див не находится где то глубоко в разметке, а лежит прямо в body (или глобальном контейнере), то можно сделать вот так:
html, body {
height: 100%;
}
.container { // если имеется
height: 100%;
}
.block {
height: 100%;
}
Так как мы не задаем overflow: hidden для body или контейнера, то с ними ничего плохого не произойдет, контент по прежнему будет адекватно отображаться и скроллится.