2014-07-07 162 views
0

我有浮动左边的问题,我使用容器小窗口900px的大小和内部有线显示4个元素的元素,结构没有给我的问题,但如果我使用不同的高度在一个元素,在任何表演权的元素,我把我的CSSCSS浮动左和位置元素

<style> 

#container 
{ 
position:relative; 
width:900px; 
min-height:150px; 
height:auto; 
margin:auto; 
overflow:hidden;  
} 


#elements 
{ 
float:left; 
width:170px; 
min-height:150px; 
height:auto; 
background-color:red; 
margin-right:5px; 
margin-bottom:5px; 
} 



</style> 


<div id="container"> 

<div id="elements">element inside<br>element inside<br>element inside<br>element inside<br>element inside<br>element inside<br>element inside<br>element inside<br>element inside<br></div> 
<div id="elements"></div> 
<div id="elements"></div> 
<div id="elements"></div> 
<div id="elements"></div> 
<div id="elements"></div> 


</div> 

可以在Fiddle

+1

不要使用相同的ID。改用类。 –

回答

4

看到由于使用的是固定宽度的箱子一组宽度的容器,你可以使用下面的风格来修复你的问题:

.elements:nth-child(5n+1) 
{ 
    clear:left; 
} 

Example

请注意,我已经改变了你的IDS一类的ID应该是唯一的

+0

并且适用于所有浏览器? – user3765800

+0

@Pete为什么不使用'.elements:n-child(6)'? +1 –

+0

@Alek万一他们有更多的行比2 - [5n + 1](http://jsfiddle.net/peteng/yuh7b/6/)vs [6](http://jsfiddle.net/peteng/ yuh7b/7 /) – Pete

0

首先一个ID名字只允许每页一次。我建议你将#elements改为.elements,而不是使用类。您的容器宽度为900像素,而每个div#元素的总和为1050像素。

#container 
{ 
position:relative; 
width:925px; 
min-height:150px; 
height:auto; 
margin:auto; 
overflow:hidden;  
} 


.elements 
{ 
float:left; 
width:150px; 
min-height:150px; 
height:auto; 
background-color:red; 
margin-right:5px; 
margin-bottom:5px; 
} 

.elements:last-child{ 
margin-right:0; 
} 
+0

没有作用这个例子,对不起 – user3765800

+0

你希望单行中的所有元素都对吗? – Boberwt