Подтвердить что ты не робот

Элементы Flex не уменьшаются, когда окно становится меньше

Я пытаюсь установить два сюжетных графика рядом друг с другом внутри flexbox CSS. Я хочу, чтобы они изменялись в зависимости от размера окна. Он работает, как ожидается, когда окно растет, но графики не уменьшаются, когда окно становится меньше.

var trace1 = {};
var trace2 = {};

var plotdiv1 = document.getElementById("plotdiv1");
var plotdiv2 = document.getElementById("plotdiv2");

Plotly.newPlot(plotdiv1, [trace1]);
Plotly.newPlot(plotdiv2, [trace2]);

window.addEventListener("resize", function() {
  Plotly.Plots.resize(plotdiv1);
  Plotly.Plots.resize(plotdiv2);
});
.plot-div {
  max-width: 100%;
}
.plot-col {
  flex: 0 0 50%;
}
.my-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
}
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>

<body>
  <div class="my-container">
    <div class="plot-col">
      <div id="plotdiv1" class="plot-div"></div>
    </div>
    <div class="plot-col">
      <div id="plotdiv2" class="plot-div"></div>
    </div>
  </div>
</body>
4b9b3361

Ответ 1

Начальная настройка элементов гибкости - min-width: auto. Это означает, что элемент гибкости по умолчанию не может быть меньше его содержимого.

Вы можете переопределить этот параметр с помощью min-width: 0 или overflow с любым значением, отличным от visible. Добавьте это в свой код:

.plot-col {
    min-width: 0;
}

Пересмотренная скрипка

Дополнительная информация: Почему гибкий элемент не сокращает размер содержимого?