Дочерний элемент Flex выходит из родительского элемента контейнера с прокруткой переполнения - PullRequest
0 голосов
/ 24 октября 2018

Как я могу заставить main-content сжиматься справа вместо того, чтобы идти за боковой панелью?Не уверен, что flexbox нужен для того, что я пытаюсь сделать, но он почти работает ..

https://codepen.io/anon/pen/qJJeMr

html,
body {
  margin: 0;
}

.container {
  position: fixed;
  height: 100%;
  width: 100%;
}

.row {
  height: 100%;
  display: flex;
}

.main-content {
  background: white;
  height: 100%;
  flex: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  overflow-x: auto;
}

.main-content .content {
  background: lightgreen;
  padding: 10px;
  margin: 10px;
  height: 300px;
  display: flex;
  min-width: 720px;
}

.sidebar {
  background: #f2f2f2;
  height: 100%;
  width: 700px;
  flex: none;
  display: flex;
}

.sidebar .side-menu-bar {
  height: 100%;
  width: 80px;
  background: lightcyan;
  flex: none;
}
<div class="container">

  <div class="row">

    <div class="sidebar">
      <div class="side-menu-bar"></div>
      <div class="side-content-panel"></div>
    </div>

    <div class="main-content">
      In main container, outside main content...

      <div class="content">
        This is the main content.
      </div>
    </div>

  </div>

</div>

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Основное содержание справа не уменьшается, так как вы дали min-width:720px; для .content. Как только вы удалите это, ваша проблема будет исправлена.

0 голосов
/ 24 октября 2018

Он не сжимается так, как вам нужно, а перекрывает его родственный элемент, потому что он имеет фиксированную минимальную ширину.

.main-content .content {
    background: lightgreen;
    padding: 10px;
    margin: 10px;
    height: 300px;
    display: flex;
    min-width: 720px; <----- HERE
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...