#javascript #flexbox
#javascript #flexbox
Вопрос:
У меня есть контейнер Flexbox со следующими SCSS:
.picker {
height: 75px;
width: 100%;
display: flex;
flex-flow: column wrap;
}
Мои элементы flex имеют следующие SCSS:
.pickeritem {
height: 25px;
width: 130px;
flex-shrink: 0;
display: flex;
align-items: center;
margin: 0 10px;
}
Проблема, с которой я сталкиваюсь, заключается в том, что контейнер переносит элементы в центр div, а не рядом с другими элементами, например:
Как мне сделать так, чтобы элементы с 3 по 8 располагались рядом друг с другом, оставляя все пустое пространство справа от div?
Можно ли этого достичь без использования какой-либо методологии строк и столбцов?
Ответ №1:
Попробуйте использовать свойство align-content . Я также внес некоторые другие незначительные изменения и добавил цвет и границы для лучшей визуализации.
.picker {
height: 75px;
width: 300px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: flex-start;
border: 1px solid black;
}
.pickeritem {
height: 25px;
width: 50px;
flex-shrink: 0;
display: flex;
align-items: center;
margin: 0 10px;
background-color: #fbbdbd;
}
<div class='picker'>
<div class='pickeritem'>1</div>
<div class='pickeritem'>2</div>
<div class='pickeritem'>3</div>
<div class='pickeritem'>4</div>
<div class='pickeritem'>5</div>
<div class='pickeritem'>6</div>
<div class='pickeritem'>7</div>
<div class='pickeritem'>8</div>
<div class='pickeritem'>9</div>
<div>
Ответ №2:
Вы можете использовать
.picker {
height: 75px;
width: 100%;
display: flex;
flex-direction: row;
justify-content:flex-start;
}
.pickeritem {
height: 25px;
flex-shrink: 0;
display: flex;
align-items: center;
margin: 0 10px;
}
Комментарии:
1.
justify-content:flex-start
я считаю, что это значение по умолчанию. Я все равно вставил его, но, как я и ожидал, это ничего не дало.2. Я думаю, это потому, что вы зафиксировали ширину flex-item = 130px, удалите это свойство width из flex-item