2017-03-03 104 views
1

我如何對齊底部的多個div,一個在另一個上。就像下面的圖片一樣。在右下角對齊div div

enter image description here

+0

你嘗試過使用aboslute /相對定位?另一種方法是在上面的大DIV,然後設置浮動:爲您的小divs正確。 –

+0

我已經嘗試絕對定位,但divs在底部重疊。我需要在另一個上設置他們 – Arman

回答

1

您可以使用Flexbox做到這一點

  1. 設置flex-direction: column到位置的div在另一個
  2. align-items: flex-end頂一個的div移動到父
  3. 的右側
  4. justify-content: flex-end移動divs到父母的底部。

.parent { 
 
    height: 300px; 
 
    width: 200px; 
 
    border: 1px solid black; 
 
    display: flex; 
 
    flex-direction: column; 
 
    align-items: flex-end; 
 
    justify-content: flex-end; 
 

 
} 
 
.box { 
 
    width: 100px; 
 
    height: 50px; 
 
    margin: 5px; 
 
    border: 1px solid black; 
 
}
<div class="parent"> 
 
    <div class="box"></div> 
 
    <div class="box"></div> 
 
    <div class="box"></div> 
 
</div>

更新:要反轉的div的順序,你可以使用flex-direction: column-reversejustify-content: flex-start

.parent { 
 
    height: 300px; 
 
    width: 200px; 
 
    border: 1px solid black; 
 
    display: flex; 
 
    flex-direction: column-reverse; 
 
    align-items: flex-end; 
 
    justify-content: flex-start; 
 

 
} 
 
.box { 
 
    width: 100px; 
 
    height: 50px; 
 
    margin: 5px; 
 
    border: 1px solid black; 
 
}
<div class="parent"> 
 
    <div class="box">1</div> 
 
    <div class="box">2</div> 
 
    <div class="box">3</div> 
 
</div>

+0

謝謝!這正是我想要的! – Arman

+0

但是,這些項目的排列順序與問題中指出的順序相反(請參閱我的回答,查看顛倒的順序,如問題中所示) – Johannes

+0

沒有注意到,如果OP想要顛倒順序,則可以更改爲'column-reverse '和'justify-content:flex-start' https://jsfiddle.net/Lg0wyt9u/1626/ –

0

您可以使用Flexbox的使用Flex - 方向:column-reverse;flex-wrap: wrap-reverse;

.x { 
 
    width: 500px; 
 
    height: 500px; 
 
    display: flex; 
 
    flex-direction: column-reverse; 
 
    flex-wrap: wrap-reverse; 
 
    border: 1px solid red; 
 
    flex-grow: 0; 
 
    flex-basis: 0%; 
 
    } 
 
    .y { 
 
    width: 80px; 
 
    height: 80px; 
 
    border: 1px solid green; 
 
    margin: 3px; 
 
    }
<div class="x"> 
 
    <div class="y">1</div> 
 
    <div class="y">2</div> 
 
    <div class="y">3</div> 
 
    <div class="y">4</div> 
 
    <div class="y">5</div> 
 
</div>

+0

感謝您的幫助! – Arman