2016-04-15 68 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'。 –