kotcich
@kotcich
Я скучный.

Как сделать контент высотою в окно браузера, но при этом не сжимать его при сворачивании окна браузера по вертикали?

<div id="app">
   
    <NavBar id="nav" :domain="domain" :auth="auth" :http="http" :getAccess="getAccess"></NavBar>

    <div id="wrapper-content">
      <Sidebar class='child1' :domain="domain" :auth="auth" :http="http"></Sidebar>
      <router-view class="child2" :domain="domain" :auth="auth" :http="http" style="overflow-x: auto"/>
    </div>

</div>


body {
   width: 100%;
}

#app {
   width: 100%;
}

#nav {
   width: 100%;
}

#wrapper-content {
   width: 100%;

   display: flex;
}

#wrapper-content.child1,  #wrapper-content.child2 {
   width: 50%
}


В body должен быть div#app, так как это vue.js, и при этом быть высотой равной body, но не сжиматься. #nav, #wrapper-content являются детьми #app. Они точно так же должны иметь высоту равной #app(даже если их контента не хватает для полного наполнения), но при этом они не должны сжиматься при изменении высоты окна браузера или открытии консоли разработчика.
Как этого добиться?
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
ivankprod
@ivankprod
Системный / веб fullstack-разработчик
Ну min-height Вам нужен, судя по всему)
Через JS можно высчитать высоту контента и задать ее как min-height блоку с этим контентом)

UPD: То есть:
body, html, #app {
    height: 100vh;
    min-height: 300px;
}

let app = document.getElementById("app");

const appHeight = () => {
    app.style.minHeight = app.offsetHeight + 'px';
}

window.onload = appHeight;
window.onresize = appHeight;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы