Использование flexbox, выравнивание по левому краю и выравнивание по правому краю в одной строке
В старые времена я бы использовал два контейнера и поместил один левый, а другой правый - с помощью clearfix. Но я думаю, что этот метод немного устарел, и возможности гибки теперь хорошо поддерживаются.
Проблема в том, что я понятия не имею, как это сделать, используя flex.
Вот скриншот с некоторыми кнопками. Вторичное действие выравнивается влево, а остальные два первичных действия должны быть выровнены по правому краю.
![введите описание изображения здесь]()
Вот моя разметка:
<footer>
<button>Back</button>
<span class="primary-btns">
<button>Cancel</button>
<button>Go</button>
</span>
</footer>
Может ли кто-нибудь сказать мне, какие методы CSS flex я должен использовать здесь?
Ответы
Ответ 1
Вы можете просто использовать justify-content: space-between
footer {
display: flex;
justify-content: space-between;
}
<footer>
<button>Back</button>
<span class="primary-btns">
<button>Cancel</button>
<button>Go</button>
</span>
</footer>
Ответ 2
В этом случае вам даже не нужен вложенный контейнер.
Современные технологии CSS (flex и grid) делают этот макет простым и требуют только одного контейнера.
footer {
display: flex;
}
button:first-child {
margin-right: auto;
}
button {
margin: 5px;
}
<footer>
<button>Back</button>
<button>Cancel</button>
<button>Go</button>
</footer>