Хотя вы могли бы сделать это с помощью javascript (ознакомьтесь с matchmedia) - это простой медиа-запрос для установки высоты на основе ширины области просмотра
Следующее устанавливает вертикальную высоту на основе ширины области просмотра (на основев контрольных точках Bootstrap 3) - вы можете изменить контрольные точки - но лучше всего использовать CSS вместо javascript для установки объявления правила стиля.
@media (max-width: 767px) {
#mySidenav {height: 20vh}
#main {margin-top: 20vh}
}
@media (min-width: 768px) {
#mySidenav {height: 70vh}
#main {margin-top: 70vh}
}
Если вы действительно, совершенно и отчаянно хотите использовать javascript, то window.matchmedia - ваш друг (но, возможно, не полностью совместимый с браузером)
if (window.matchMedia("(max-width: 767px)").matches) {
/* The viewport is equal to or less than 767 pixels wide */
#mySidenav {height: 20vh};
#main {margin-top: 20vh}
} else {
/* The viewport is more than 767 pixels wide */
#mySidenav {height: 70vh};
#main {margin-top: 70vh}
}
Ноя настоятельно советую использовать CSS для этого.