Как вы можете видеть в приведенном ниже фрагменте, у меня есть 3 дочерних элемента для flexbox с установленной шириной 200 пикселей, 150 пикселей и 300 пикселей. Однако, когда я изменяю размер браузера, и элементам не хватает места, они начинают уменьшаться, даже если они имеют жестко запрограммированную ширину, и я не уверен, почему это происходит.
.row {
display: flex;
justify-content: space-between;
width: 100%;
height: 50px;
}
.column1 {
width: 200px;
background-color: red;
}
.column2 {
width: 150px;
background-color: blue;
}
.column3 {
width: 300px;
background-color: green;
}<div class = "row">
<div class = "column1"></div>
<div class = "column2"></div>
<div class = "column3"></div>
</div>





Ваши элементы сжимаются, потому что flexbox пытается уместить всех дочерних элементов в свою ширину. Вы можете изменить это поведение, указав flex-shrink: 0 в элементах div столбца, что сообщает flexbox, что ваши элементы не должны уменьшаться за пределы определенной ширины. Вы также можете узнать больше о flex-shrink на https://css-tricks.com/almanac/properties/f/flex-shrink/.
.row {
display: flex;
justify-content: space-between;
width: 100%;
height: 50px;
}
.row > div {
flex-shrink: 0;
}
.column1 {
width: 200px;
background-color: red;
}
.column2 {
width: 150px;
background-color: blue;
}
.column3 {
width: 300px;
background-color: green;
}<div class = "row">
<div class = "column1"></div>
<div class = "column2"></div>
<div class = "column3"></div>
</div>