2016-10-11 55 views
1

有没有一种方法可以实现这一点(使用flexbox或其他)?证明:空间与右对齐的最后一个元素

evenly distributed text

  • 均匀分布的文本
  • 第一和最后一个元素棍棒双方

我假定这将需要弯曲物品被shrinkwrapped的,这(我认为)是不可能的。

回答

1

space-between将工作 - 检查出下面的例子:

body { 
 
    margin: 0; 
 
} 
 
* { 
 
    box-sizing: border-box; 
 
} 
 
.wrapper { 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
.wrapper > * { 
 
    border: 1px solid; 
 
}
<div class="wrapper"> 
 
    <div>one</div> 
 
    <div>two</div> 
 
    <div>three</div> 
 
    <div>four</div> 
 
    <div>five</div> 
 
</div>

A反璞归真的方法是使用auto利润率在最终的项目,但它有不同的效果 - 见下面的演示:

body { 
 
    margin: 0; 
 
} 
 
* { 
 
    box-sizing: border-box; 
 
} 
 
.wrapper { 
 
    display: flex; 
 
    justify-content: space-around; 
 
} 
 
.wrapper > * { 
 
    border: 1px solid; 
 
} 
 
.wrapper div:first-child { 
 
    margin-right: auto; 
 
} 
 
.wrapper div:last-child { 
 
    margin-left: auto; 
 
}
<div class="wrapper"> 
 
    <div>one</div> 
 
    <div>two</div> 
 
    <div>three</div> 
 
    <div>four</div> 
 
    <div>five</div> 
 
</div>

+1

是的!秘诀是不要在子元素上设置“flex:x x auto”。然后,子元素将被缩小到最小尺寸。太棒了,谢谢。 –

0

使用flexbox,您可以使用justify-content属性来定义项目的分布行为。

justify-content: space-around; 

是你需要的是你需要的。

这里有一个例子: http://codepen.io/fazermokeur/pen/WGJpJO

(约Flexbox的这个完美的资源直接的启发:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

+0

感谢,但第一个和最后一个未对齐的两侧。在这个codepen(你的叉)http://codepen.io/joe_g/pen/QKAvpB - 我想要一个左对齐(坚持左边距)和“六”坚持右边距。 –