2015-09-25 40 views
0

我目前正在研究一个响应式网页,它的工作非常好。唯一的问题是,当浏览器变小并且遇到div时,div将跳过一条线。这里是我的代码:保持div跳起一条线float

HTML:

<div id = "wrapper"> 
<div class = "divs"> 
This is div 1 
</div> 

<div class = "divs"> 
This is div 2 
</div> 

<div class = "divs"> 
This is div 3 
</div> 

</div> 

CSS:

.divs{ 
width:100px; 
float:left; 
background-color: red; 
margin-left: 10px; 
text-align:center; 
} 

#wrapper{ 
width:400px; 

} 

@media screen and (max-width:399px){ 
#wrapper{ 
width:100% 
} 
.divs{ 
width: 33.33%; 
} 

live example in jsfiddle

+0

小屏幕你的div在页面的1/3。但是你为他们增加了余量,所以他们需要更多,最后一个跳到下一行。 – dievardump

+0

好的,有没有办法让我的保证金响应呢? – ThijsVijver

+0

我删除了余量,但仍然发生......但无论如何,谢谢! – ThijsVijver

回答

0

股利最终跳转行,因为你要添加一个10px的保证金,以每格的左。边距(和填充)被添加到元素的宽度,它们不包含在其中。所以宽度为30px,左边距为10px的div将占用40px的屏幕。

这个最简单的办法是改变你的宽度以适应保证金,则保证金设定为百分比,以及:

.divs{ 
    width: 100px; 
    float:left; 
    background-color: red; 
    margin-left: 3%; /* changed margin to % so is also responsive */ 
    text-align:center; 
} 


.divs{ 
    width: 30%; /*reduced width to accommodate margin */ 
} 
+0

非常感谢!这帮了很多! – ThijsVijver

+0

非常欢迎:) – Andrea