2012-04-26 18 views
3

我有一個要顯示的圖標列表。我使用下面的佈局要做到這一點:如何將div自動對齊到新列

<div class="icons"> 
<div class="icon1"> 
img src="someimage" <p>Some test </p> 
</div> 
. 
. 
. 
</div> 

這是我使用的CSS:

.icons{ 
    margin-top:5px; 
    margin-left:5px;  
    left:0;   
} 
.icon1{  
    line-height:15px; 
    margin-top:8px;  
    width:75px; 
} 

如何修改這個,這樣,如果我增加更多div s的類icon1他們當達到max-height時,會在新列中對齊?

+0

我不認爲這是可能通過只使用HTML和CSS – fesh 2012-04-26 06:02:20

+0

添加'浮動:left'到'icon1' – Jack 2012-04-26 06:02:30

+0

拉吉,有什麼majorly問題與您'img'標籤有... – Xenon 2012-04-26 06:08:56

回答

0

我不確定是否float:left會工作。根據我的經驗,這會導致div標籤並排添加,一旦它們到達父div的末尾,下一個將被添加到第一列的底部。他需要相反的@Jack

我建議使用jquery來檢查div標籤的高度是否超過父div。如果他們然後添加一個新的div並開始將style-div標籤添加到style =「float:left」的新div中。因此,如果您的初始DOM包含

< div class="icons" > </div> 

追加一個元件應的DOM更改爲

<div class="icons" > 
    <div class ="column" style="float:left"> 
     <div class="icon1" > <img src="" height="" width="" /> </div> 
    </div> 
</div> 

附加另一個元件應將其更改爲

<div class="icons" > 
    <div class ="column" style="float:left"> 
     <div class="icon1" > <img src="" height="" width="" /> </div> 
     <div class="icon2" > <img src="" height="" width="" /> </div> 
    </div> 
</div> 

附加超過母體的第三元件div會將DOM更改爲此

<div class="icons" > 
    <div class ="column" style="float:left"> 
     <div class="icon1" > <img src="" height="" width="" /> </div> 
     <div class="icon2" > <img src="" height="" width="" /> </div> 
    </div> 
    <div class ="column" style="float:left"> 
     <div class="icon3" > <img src="" height="" width="" /> </div> 
    </div> 
</div> 
+0

很好,謝謝你,但我想要的不是使用jQuery或腳本是否可以用CSS和HTML – Raj 2012-04-26 08:43:59