Как заставить прокрутку работать только на одну <div>? - PullRequest
1 голос
/ 13 мая 2019

редактировать: Решено, ответить в комментариях

Я пытаюсь заставить правую сторону этой вещи прокручивать, пока левая сторона остается на месте, но только в альбомной ориентации. У меня был некоторый успех с использованием position: fixed, но это потребовало бы обновления страницы при каждом переключении между альбомным / портретным, потому что карта не будет переключать стили. Сейчас я пытаюсь (и не могу) использовать overflow. Есть идеи как правильно это сделать?

https://codepen.io/dvtan/pen/mYrzqo

Копия кодового ручки:

<style>
@media (orientation: landscape) {
    body {
        display: flex;
        flex-direction: row;
        overflow: hidden;
    }
    body > div {
        flex: 1;
    }
    #map {
        height: 100vh;
    }
    #right {
        overflow-y: scroll;
    }
}

@media (orientation: portrait) {
    #map {
        height: 50vh;
    }
}
</style>

<body>
  <div id="left">
    <div id="map"></div>
  </div>
  <div id="right">
    scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>scrollable<br>
  </div>
</body>

<script>
    let leafletMap = L.map('map').fitBounds([
        [45, -63],
        [40, -124]
    ]);
    let normalLayer = L.tileLayer('//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
        'attribution': '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
    });
    leafletMap.addLayer(normalLayer);
</script>

1 Ответ

0 голосов
/ 13 мая 2019

Вам нужна фиксированная высота, чтобы свойство переполнения работало. ТАК, сделав свой ростовой элемент 100% должен сделать работу.

#yourElement {
    height: 100%;
    overflow: auto;
}

Разница между прокруткой переполнения и автоматической заключается в том, что при прокрутке полоса прокрутки всегда видна, даже если нет содержимого для прокрутки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...