РЕДАКТИРОВАТЬ
Найден еще лучший способ сделать это:
<div id="sidebar">
<div id="sidebar-search"></div>
<div id="sidebar-results"></div>
</div>
С CSS:
#sidebar {
float: left;
height: 100%;
display: flex;
flex-flow: column;
background: white;
width: 400px;
}
#sidebar-search {
width: 100%;
max-height: 40%;
flex-shrink: 0;
overflow-y: auto;
}
#sidebar-results {
flex-grow: 1;
width: 100%;
overflow-y: auto;
}
Это решает проблема, с которой я столкнулся позже при изменении содержимого (высота первого div стала переменной) и проблема z-index с абсолютным div.
Хорошо, так что это не давало мне спать, я снова встал с постели, чтобы проверьте это.
Я сделал контейнер div абсолютным и дополненным верхом, чтобы начать содержимое после области поиска, и div внутри, с высотой 100% и переполнением-y auto:
{% block body %}
<div id="app">
<div id="sidebar" class="sidebar pt-3">
<h3 class="text-center">
Recherche
</h3>
<div id="sidebar-search" class="sidebar-search">
<form class="form pr-3 pl-3">
<div class="input-group mb-2">
<input id="search-area-input" class="form-control" type="text" placeholder="2000">
<div class="input-group-append">
<div class="input-group-text">m²</div>
<button id="search-button" type="submit" class="form-control btn btn-primary">Rechercher</button>
</div>
</div>
</form>
</div>
<hr />
<div id="sidebar-results" class="text-justify">
<div class="scrollable pl-3 pr-3">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae tempor neque. Fusce rutrum iaculis tellus, et sollicitudin diam sodales nec. Morbi iaculis consequat ornare. Curabitur congue porttitor tellus ut dapibus. Donec placerat commodo augue et aliquet. Aliquam condimentum finibus nisl, nec scelerisque lectus pellentesque eu. Pellentesque non bibendum mi, sit amet mattis lorem. Vivamus elementum, mauris id vulputate porttitor, risus massa convallis diam, aliquet ultrices ligula ligula euismod neque.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae tempor neque. Fusce rutrum iaculis tellus, et sollicitudin diam sodales nec. Morbi iaculis consequat ornare. Curabitur congue porttitor tellus ut dapibus. Donec placerat commodo augue et aliquet. Aliquam condimentum finibus nisl, nec scelerisque lectus pellentesque eu. Pellentesque non bibendum mi, sit amet mattis lorem. Vivamus elementum, mauris id vulputate porttitor, risus massa convallis diam, aliquet ultrices ligula ligula euismod neque.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae tempor neque. Fusce rutrum iaculis tellus, et sollicitudin diam sodales nec. Morbi iaculis consequat ornare. Curabitur congue porttitor tellus ut dapibus. Donec placerat commodo augue et aliquet. Aliquam condimentum finibus nisl, nec scelerisque lectus pellentesque eu. Pellentesque non bibendum mi, sit amet mattis lorem. Vivamus elementum, mauris id vulputate porttitor, risus massa convallis diam, aliquet ultrices ligula ligula euismod neque.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae tempor neque. Fusce rutrum iaculis tellus, et sollicitudin diam sodales nec. Morbi iaculis consequat ornare. Curabitur congue porttitor tellus ut dapibus. Donec placerat commodo augue et aliquet. Aliquam condimentum finibus nisl, nec scelerisque lectus pellentesque eu. Pellentesque non bibendum mi, sit amet mattis lorem. Vivamus elementum, mauris id vulputate porttitor, risus massa convallis diam, aliquet ultrices ligula ligula euismod neque.
</div>
</div>
</div>
<div id="map"></div>
</div>
{% endblock %}
И css, соответствующий:
html, body {
height: 100%;
}
.navbar {
position: absolute;
left: 0;
right: 0;
}
#app {
height: 100%;
padding-top: 56px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
#map {
height: 100%;
background: red;
}
#sidebar {
height: 100%;
float: left;
width: 400px;
background: white;
position: relative;
}
#sidebar-results {
position: absolute;
padding-top: 130px;
top: 0;
height: 100%;
}
#sidebar-results > .scrollable {
height: 100%;
overflow-y: auto;
}
Теперь у меня нет полосы прокрутки в крайнем правом углу, и только результаты будут прокручиваться