2017-05-08 59 views
1

我有一個容器,可容納多個div,大約20個。我想在每一行放3個div,因此它看起來像這樣(divs只是繼續流動)。中心容器內的3列,但允許

什麼是居中這些列沒有他們在某種父div的最佳方式?如果我使用了一個分別佔據3列的div,但是我使用的系統不行,我可以將它們居中。有任何想法嗎?

enter image description here

+0

你嘗試過什麼?你能分享一些代碼嗎? – tech2017

+1

*「我有一個包含多個div的容器,大約20個」*似乎與*「有什麼最好的方式來居中這些列,而沒有他們在某種父div?」*。 「容器」將是父母,您可以使用一堆技術來像這樣將盒子居中。發佈您正在使用的代碼以及如果您希望我們提供幫助的話,您已經嘗試過了。 –

+0

你使用引導? –

回答

1

一個簡單的例子是:

純CSS,你可以用這個來控制行:

.child:nth-child(3n+1) { 
    clear: both; 
} 

width: calc((100% - 60px)/3);動態獲取的寬度。

.child { 
 
    background: white; 
 
    height: 40vh; 
 
    float: left; 
 
    margin: 0px 10px 10px 0px; 
 
    width: calc((100% - 60px)/3); 
 
    border: 5px solid black; 
 
} 
 

 
.child:nth-child(3n+1) { 
 
    clear: both; 
 
} 
 

 
.wrapper { 
 
    background: white; 
 
    border: 5px solid black; 
 
    display: inline-block; 
 
    width: calc(100% - 30px); 
 
    margin: 10px; 
 
    padding: 10px 0px 0px 10px; 
 
}
<div class="wrapper"> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
</div>

0

'最好' 的方式IMO是使用Flexbox的。你說沒有父div,但它必須有某種父容器div。

* { 
 
\t box-sizing: border-box; 
 
} 
 

 
.container { 
 
\t display: flex; 
 
\t flex-wrap: wrap; 
 
\t justify-content: space-between; 
 
\t max-width: 400px; 
 
\t margin: 0 auto; 
 
\t padding: 25px; 
 
\t border: 2px solid black; 
 
} 
 

 
.box { 
 
\t display: block; 
 
\t height: 160px; 
 
\t width: 100px; 
 
\t margin-bottom: 25px; 
 
\t border: 2px solid black; 
 
}
<div class="container"> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
\t <div class="box"></div> 
 
</div>