2013-03-11 80 views
2

這是我想要做的;如何安排多個div並排,一個在另一個之下

Pinterest

比方說,我有10周或更多的矩形的div。我想把他們中的5個並排放置,其他5個放在其他區域下。我的問題是;

我應該如何命名div?如果班級名稱爲每個div更改或ID更改或我應該給;

float:left 

屬性給所有div讓他們並排排列。所以當沒有水平的地方時,其他五個將被放置在它們下面。

我的意思是這10個div(或更多)的結構應該如何?

+1

我不知道您瞭解class和id是如何工作的...當你想應用樣式的1個多元素類的使用。 Ids每頁使用一次。如果這些div應該都是相同的樣式,它們將具有相同的類名...您嘗試使用的效果可以很容易地通過[Nested](https://github.com/suprb/Nested)實現。 – brbcoding 2013-03-11 13:50:32

+0

如果將它們浮起來,下一行將從前一行的最高div的末尾開始。你需要讓js使它們完全適合在前面的行塊或固定高度的所有div元素。 – otinanai 2013-03-11 13:51:18

+0

它不能自動完成AFAIK,一個腳本似乎絕對地定位每一個腳本,然後添加'top'和'left'屬性來根據他人的高度來定位它們。 – Blieque 2013-03-11 13:56:19

回答

8

您可能會發現Wookmark JQuery撐着有用。它像Masonry但我認爲它更容易。把所有的圖片放在一個div裏面,在<script></script>中引用它,它基本上和Pininterest有相同的效果。

+2

有人建議添加[砌體](http://masonry.desandro.com)作爲答案。我建議你編輯你的答案,並添加鏈接到砌體:) – Morpheus 2013-12-13 16:38:08

0

你可以做的是爲所有的div創建一個容器。並且在他們下面添加10個div。

<div id="divContainer"> 

    <div class="theDiv"> 
     //Div content 1 
    </div> 

    <div class="theDiv"> 
     //Div content 2 
    </div> 

    <div class="theDiv"> 
     //Div content 3 
    </div> 

    <div class="theDiv"> 
     //Div content 4 
    </div> 

    <div class="theDiv"> 
     //Div content 5 
    </div> 

    <div class="theDiv"> 
     //Div content 6 
    </div> 

    <div class="theDiv"> 
     //Div content 7 
    </div> 

    <div class="theDiv"> 
     //Div content 8 
    </div> 

    <div class="theDiv"> 
     //Div content 9 
    </div> 

    <div class="theDiv"> 
     //Div content 10 
    </div> 

</div> 

然後添加樣式。

  • 首先,設置divContainer的寬度,可以說容器是1000px,每個div裏面是200px。
  • 其次,您添加浮動屬性。

有點像。

<style> 
    #divContainer {background: blue; width: 1000px; float: left;} 
    .theDiv {background: pink; float: left;} 
</style> 

然後之後,你可以更多的性能,使它看起來更像邊緣等。

希望這有助於你=)

+2

這不會工作,因爲不同高度的不同div會使它看起來非常糟糕http://jsfiddle.net/UfVrH/ – 2013-07-19 11:13:46

1

如果使用類,則可以將它用於多個對象而不更改名稱。
試試這個:

<style> 
.container { 
    overflow:auto; 
} 
.sidebyside { 
    float:left; 
    width:100px; 
    height:100px; 
    border-style:solid; 
    margin:5px; 
} 
.belowdiv { 
    width:300px; 
    height:100px; 
    border-style:solid; 
    margin:5px; 
} 
</style> 

<div class="container"> 
    <div class="sidebyside">div0</div> 
    <div class="sidebyside">div1</div> 
    <div class="sidebyside">div2</div> 
    <div class="sidebyside">div3</div> 
    <div class="sidebyside">div4</div> 
</div> 
<div class="belowdiv">div5</div> 
<div class="belowdiv">div6</div> 
<div class="belowdiv">div7</div> 
<div class="belowdiv">div8</div> 
<div class="belowdiv">div9</div> 
+0

-1你完全錯過了當不同高度的div在一個容器中會發生什麼點。 – 2013-07-19 11:16:28

+0

@Layne你可以把上面的所有內容放在另一個div中,並做同樣的工作來水平排列它們,並簡單地支持不同的大小。 – Vahid 2013-07-19 11:22:17