Помните, что свойство flex-shrink
устанавливает flex-shrink
элемента гибкого контейнера. Таким образом, элементы будут сжиматься, чтобы соответствовать контейнеру, если они больше, чем размер контейнера. В вашем случае, я думаю, что установка flex-shrink
в 2
приведет к переносу слов, как вы и просили. Проверьте этот фрагмент кода. Надеюсь, это поможет!
function myFunction(val) {
document.getElementById("example-element").style.flexShrink = val;
}
* {
font-family: arial;
}
.buttons-section {
display: flex;
justify-content: space-evenly;
width: 70%;
}
.example-container {
background-color: #eee;
border: .2em solid;
padding: .75em;
border-radius: 10px;
width: 70%;
margin-left: 20px;
max-height: 300px;
display: flex;
}
.example-container>div {
margin: 10px;
}
.first-solution>div {
background-color: rgba(0, 255, 0, 0.2);
border: 3px solid green;
flex-grow: 1;
flex-shrink: 1;
flex-basis: 300px;
}
p {
margin-left: 20px;
}
small {}
.second-solution {
flex: 1 1 0;
justify-content: space-evenly;
}
.second-solution>div {
background-color: rgba(255, 0, 0, 0.2);
border: 3px solid red;
text-align: center;
}
.third-solution {
flex-wrap: wrap;
}
.third-solution>div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
flex-basis: 100px;
text-align: center;
}
<section class="buttons-section">
<div>
<pre><code>flex-shrink: 0;
Применить
flex-shrink: 1;
Применить
flex-shrink: 2;
Применить
Пункт второй Пункт третий
Добавлены дополнительные примеры после первого комментария. Не стесняйтесь изменить размер экрана, чтобы увидеть поведение?
Все элементы одинакового размера, контейнер с flex: 1 1 0;
Добавлено justify-content: space-evenly; который помогает распределить дополнительное свободное пространство
Элемент один
Элемент два
Элемент три
Предложение: использование flex-wrap: wrap; на контейнере, так что предметы всегда будут соответствовать контейнеру
Элемент один
Элемент два
Элемент три