https://jsfiddle.net/vhem8scs/
有没有可能让两个项目左对齐,一个项目右对齐flexbox?链接显示得更清楚。最后一个例子是我想实现的。
在flexbox中我有一个代码块。在float中我有四个代码块。这是我喜欢flexbox的一个原因。
HTML格式
<div class="wrap">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
<!-- DESIRED RESULT -->
<div class="result">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
CSS格式
.wrap {
display: flex;
background: #ccc;
width: 100%;
justify-content: space-between;
}
.result {
background: #ccc;
margin-top: 20px;
}
.result:after {
content: '';
display: table;
clear: both;
}
.result div {
float: left;
}
.result div:last-child {
float: right;
}
5条答案
按热度按时间qvtsj1bj1#
To align one flex child to the right set it with
margin-left: auto;
From the flex spec:
One use of auto margins in the main axis is to separate flex items into distinct "groups". The following example shows how to use this to reproduce a common UI pattern - a single bar of actions with some aligned on the left and others aligned on the right.
Updated fiddle
Note:
You could achieve a similar effect by setting flex-grow:1 on the middle flex item (or shorthand
flex:1
) which would push the last item all the way to the right. (Demo)The obvious difference however is that the middle item becomes bigger than it may need to be. Add a border to the flex items to see the difference.
Demo
lf5gs5x22#
对于简洁的纯Flexbox选项,请将左对齐项目和右对齐项目分组:
并使用
space-between
:这样,您可以将多个项目分组到右侧(或仅一个)。
https://jsfiddle.net/c9mkewwv/3/
gudnpqoy3#
将一些元素(headerElement)居中对齐,将最后一个元素(headerEnd)向右对齐。
avkwfej44#
您可以执行以下任一操作
或
这会将项目移到右边。你给的px值会将项目从右边推到左边。
s5a0g9ez5#
下面是我所做的(使用tailwind,但它只是CSS):
其思想是左右两个部分的宽度相同,则右侧的子部分占用的空间较小