колонки на основе совместите левый и правый
изучая, как использовать flexbox, с типичным css я мог бы плавать один из двух столбцов влево, а другой вправо с некоторым пространством желоба между ними. Как бы я сделал это с flexbox?
#container {
width: 500px;
border: solid 1px #000;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
#a {
width: 20%;
border: solid 1px #000;
}
#b {
width: 20%;
border: solid 1px #000;
height: 200px;
}
<div id="container">
<div id="a">
a
</div>
<div id="b">
b
</div>
</div>
3 ответа:
вы могли бы добавить
justify-content: space-between
к родительскому элементу. При этом дочерние элементы flexbox будут выровнены по противоположным сторонам с пространством между ними.#container { width: 500px; border: solid 1px #000; display: flex; justify-content: space-between; }
#container { width: 500px; border: solid 1px #000; display: flex; justify-content: space-between; } #a { width: 20%; border: solid 1px #000; } #b { width: 20%; border: solid 1px #000; height: 200px; }
<div id="container"> <div id="a"> a </div> <div id="b"> b </div> </div>
вы также можете добавить
margin-left: auto
ко второму элементу, чтобы выровнять его вправо.#b { width: 20%; border: solid 1px #000; height: 200px; margin-left: auto; }
#container { width: 500px; border: solid 1px #000; display: flex; } #a { width: 20%; border: solid 1px #000; margin-right: auto; } #b { width: 20%; border: solid 1px #000; height: 200px; margin-left: auto; }
<div id="container"> <div id="a"> a </div> <div id="b"> b </div> </div>
Я придумал 4 метода для достижения результатов. Вот это демо
Способ 1:
#a { margin-right: auto; }
Способ 2:
#a { flex-grow: 1; }
Способ 3:
#b { margin-left: auto; }
Способ 4:
#container { justify-content: space-between; }