是否有一种比使用绝对位置更灵活的方式来将“Contact”向右对齐?

.main { display: flex; } .a, .b, .c { background: #efefef; border: 1px solid #999; } .b { flex: 1; text-align: center; } .c { position: absolute; right: 0; } <h2>With title</h2> <div class="main"> <div class="a"><a href="#">Home</a></div> <div class="b"><a href="#">Some title centered</a></div> <div class="c"><a href="#">Contact</a></div> </div> <h2>Without title</h2> <div class="main"> <div class="a"><a href="#">Home</a></div> <!--<div class="b"><a href="#">Some title centered</a></div>--> <div class="c"><a href="#">Contact</a></div> </div>

http://jsfiddle.net/vqDK9/


当前回答

基于TetraDev回答的示例代码

右图: * { 轮廓:0.4 px红色虚线; } .main { 显示:flex; flex-direction:行; 对齐项目:中心; } h1 { flex-basis: 100%; } img { 边距:0 5px; 高度:30 px; } < div class = "主" > <标题>安全支付h1 > < / < img src = " https://i.stack.imgur.com/i65gn.png " > < img src = " https://i.stack.imgur.com/i65gn.png " > < / div >

左图:

* { 轮廓:0.4 px红色虚线; } .main { 显示:flex; flex-direction:行; 对齐项目:中心; } h1 { flex-basis: 100%; text-align:正确; } img { 边距:0 5px; 高度:30 px; } < div class = "主" > < img src = " https://i.stack.imgur.com/i65gn.png " > < img src = " https://i.stack.imgur.com/i65gn.png " > <标题>安全支付h1 > < / < / div >

其他回答

左边:自动工作良好。但干净的柔性盒解决方案将在主类之间的空间。如果有两个或两个以上的元素,那么两者之间的间隔就很好。我也为单个元素添加了一个解决方案。

.main { display: flex; justify-content: space-between; } .a, .b, .c { background: #efefef; border: 1px solid #999; padding: 0.25rem; margin: 0.25rem;} .b { flex: 1; text-align: center; } .c-wrapper { display: flex; flex: 1; justify-content: flex-end; } .c-wrapper2 { display: flex; flex: 1; flex-flow: row-reverse; } <div class="main"> <div class="a"><a href="#">Home</a></div> <div class="b"><a href="#">Some title centered</a></div> <div class="c"><a href="#">Contact</a></div> </div> <div class="main"> <div class="a"><a href="#">Home</a></div> <div class="c"><a href="#">Contact</a></div> </div> <div class="main"> <div class="c-wrapper"> <a class="c" href="#">Contact</a> <a class="c" href="#">Contact2</a> </div> </div> <div class="main"> <div class="c-wrapper2"> <span class="c">Contact</span> <span class="c">Contact2</span> </div> </div>

或者你可以使用justify-content: flex-end

.main { display: flex; }
.c { justify-content: flex-end; }

对于那些使用Angular和Flex-Layout的人,在flex-item容器上使用以下命令:

<div fxLayout=“row” fxLayoutAlign=“flex-end”>

查看fxLayoutAlign文档和完整的fxLayout文档。

将以下CSS类添加到样式表中:

.my-spacer {
    flex: 1 1 auto;
}

在左边的元素和你想要右对齐的元素之间放置一个空元素:

<团队类=“我的间隔”></span>

我发现添加'justify-content: flex-end'到flex容器解决了问题,而'justify-content: space-between'没有做任何事情。