2016-04-15 43 views
1

我试图做一个简单的导航与下一个和上一个按钮。先前位于容器的最左侧,接下来位于最右侧。我知道你在想什么:这是使用justify-content: space-between的理想时间。但是,当用户在第一页或最后一页上时,后端不会分别输出上一个和下一个按钮。这导致下一个按钮在第一页左对齐,这不是我想要的。位置flex儿童彼此相邻与自我对齐

我以为我可以在儿童上使用align-self。我现在遇到的问题是,第一个孩子推倒第二个孩子,我不知道如何解决这个问题。

这里有一个片断

.container { 
 
    display: flex; 
 
} 
 
.container * { 
 
    width: 10%; 
 
    height: 80px; 
 
} 
 
#d1 { 
 
    background: green; 
 
    align-self: flex-start; 
 
} 
 
#d2 { 
 
    background: red; 
 
    align-self: flex-end; 
 
}
<div class="container"> 
 
    <div id="d1"> 
 
    div 1 
 
    </div> 
 
    <div id="d2"> 
 
    div 2 
 
    </div> 
 
</div>

+1

'对齐,self'工程对*十字轴*。在'flex-direction:row'中,这将是垂直维度。你正在研究*主轴*。你需要像'justify-self'这样的东西,它不存在。但是,flex'auto'边距可以完成这项工作。 http://stackoverflow.com/q/32551291/3597276 –

回答

1

我完全忘了魔术利润率弯曲。这里所说:

.container { 
 
    display: flex; 
 
} 
 
.container * { 
 
    width: 10%; 
 
    height: 80px; 
 
} 
 
#d1 { 
 
    margin-right: auto; 
 
    background: red; 
 
} 
 
#d2 { 
 
    margin-left: auto; 
 
    background: green; 
 
}
<div class="container"> 
 
    <div id="d1"> 
 
    div 1 
 
    </div> 
 
    <div id="d2"> 
 
    div 2 
 
    </div> 
 
</div>

+0

另外,D1上的'margin-right:auto'或D2上的''margin-left:auto'就足够了。你不需要两个。尽可能将每一个都分开。 –

+1

@Michael_B真的,但我确实需要两种情况下只显示一个按钮 - 这就是为什么我不能使用'justify-content:spave-between'。 –