2013-08-21 27 views
8
<ul> 
    <li>item1</li> 
    <li>item1</li> 
    <li>item1</li> 
    <li>item1</li> 
    <li>item1</li> 
    <li>item1</li> 
</ul> 

假設每個方框的寬度爲150px,因此每行的總寬度爲450px。 我想要做的是自動讓列表只允許每行3個框(列表元素),而不是讓它在對方之下。HTML/CSS使列表成行,每行3個框?

我已經嘗試了一些東西,而不僅僅是在嘗試之前詢問!

有我的嘗試:

<div class="container"> 
    <ul> 
     <li>hreyyy</li> 
     <li>hreyyy</li> 
     <li>hreyyy</li> 
     <li>hreyyy</li> 
     <li>hreyyy</li> 
     <li>hreyyy</li> 
    </ul> 
</div> 

.container { 
    width: 450px; 
} 

.container ul li { 
    width: 150px; 
    height: 100px; 
    background-color: red; 
    float: left; 
} 

.container ul { 
    display: inline; 
} 

結果:

img http://gyazo.com/fc8367ed762c25b29abb94a1e31e4da4.png

這是因爲我想不起作用,爲什麼呢?

有沒有插件讓生活變得更輕鬆?

+0

您需要爲您的箱子坐隱藏的空間。將ul設置爲使所有項目的寬度和容器寬度爲450px,並將其隱藏。它只會顯示你的三個,並保持李的排隊。在您的最終代碼中,如果框的數量將會發生變化,您可以動態計算容器寬度。 –

回答

13

您不需要將UL設置爲內聯對象。取而代之的是,做這樣的事情:

.container { 
    width: 450px; 
} 
.container ul { 
    padding: 0; /* remove default padding and all margins! */ 
    margin: 0; 
    list-style-type: none; /* remove the • */ 
} 
.container ul li { 
    width: 150px; 
    height: 100px; 
    background-color: red; 
    float: left; 
} 

結果:http://jsfiddle.net/f896G/

+0

非常感謝,工作! –

+0

不客氣!請不要忘記將此標記爲答案。 :) – Leonard