当浏览器窗口变小时,我想要包装到下一行的div.我也希望在div之间放置保证金,以便它们之间存在差距.我遇到的问题是,如果浏览器设置为特定大小,则中心div上的边距会导致div错误地换行.在一定的大小,你有一个div下面的2个div.以下面的截图为例,这个小提琴:
http://jsfiddle.net/uhh2jwe2/(改变窗口的宽度)
这确实需要是动态的,因为它将是一个框架解决方案,用于布置不同大小的div.父div将与示例类似.任何帮助都会很棒
#outer { width: 90%; height: 90%; margin: 5%; overflow: auto; background-color: red; } .inner1 { float: left; width: 150px; height: 150px; margin-right: 20px; background-color: blue; } .inner2 { float: left; width: 150px; height: 150px; margin-right: 20px; background-color: blue; } .inner3 { float: left; width: 150px; height: 150px; background-color: blue; }
<div id="outer"> <div class="inner1">1</div> <div class="inner2">2</div> <div class="inner3">3</div> </div>
解决方法
您可以使用媒体查询来更改较小屏幕上的CSS.
#outer { width: 90%; height: 90%; margin: 5%; overflow: auto; background-color: red; } .inner1 { float: left; width: 150px; height: 150px; margin-right: 20px; background-color: blue; } .inner2 { float: left; width: 150px; height: 150px; margin-right: 20px; background-color: blue; } .inner3 { float: left; width: 150px; height: 150px; background-color: blue; } @media (max-width: 435px) { #outer > div { margin-right:auto; margin-left:auto; margin-bottom:15px; float:none; } }
<div id="outer"> <div class="inner1">1</div> <div class="inner2">2</div> <div class="inner3">3</div> </div>