Элементы 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>
Ответы
Ответ 1
Начальная настройка элементов гибкости - min-width: auto
. Это означает, что элемент гибкости по умолчанию не может быть меньше его содержимого.
Вы можете переопределить этот параметр с помощью min-width: 0
или overflow
с любым значением, отличным от visible
. Добавьте это в свой код:
.plot-col {
min-width: 0;
}
Пересмотренная скрипка
Дополнительная информация: Почему гибкий элемент не сокращает размер содержимого?