在 CSS 中制作浮动框填充包装器
这让我发疯。
我正在构建一个页面,该页面仅具有预定义的页眉和页脚,它们之间的内容将是一组必须正确放置才能填充包装器的框(动态)。
这是一个示例: http://jsfiddle.net/rdMKQ/1/
HTML:
<div id="wrapper" >
<div class="box" style="width:60px;height:60px;background-color:blue"> 1 </div>
<div class="box" style="width:40px;height:30px;background-color:red"> 2 </div>
<div class="box" style="width:80px;height:60px;background-color:yellow"> 3 </div>
<div class="box" style="width:40px;height:30px;background-color:green"> 4 </div>
</div>
非内联 CSS:
#wrapper{width:180px;}
.box{float:left}
所有的框 float:left
和我使用的大小只是“随机”作为示例,
我可以做什么来定位绿色框 (4) 位于红色框下方(2) 填补空白?
解决方案的要求:
- 我不能为单个盒子定义特定的样式,样式应该是所有盒子通用的
- 盒子不能重叠
PD:我已经尝试过 jQuery Masonry Plugin 让他做填补 JS 空白的工作,但不幸的是,没有任何选项可以满足我的需要。
非常感谢您的帮助。
This is driving me crazy.
I am building a page which will only have a predefined header and footer, the content between them will be a set of boxes (dynamic) that have to be properly positioned in order to fill the wrapper.
Here is an example: http://jsfiddle.net/rdMKQ/1/
HTML:
<div id="wrapper" >
<div class="box" style="width:60px;height:60px;background-color:blue"> 1 </div>
<div class="box" style="width:40px;height:30px;background-color:red"> 2 </div>
<div class="box" style="width:80px;height:60px;background-color:yellow"> 3 </div>
<div class="box" style="width:40px;height:30px;background-color:green"> 4 </div>
</div>
Non-Inline CSS:
#wrapper{width:180px;}
.box{float:left}
All the boxes float:left
and the sizes I used are just 'random' as a matter of example
What can I do to position the green box (4) just below red one (2) to fill the gap?
Requirements of the solution:
- I can not define specific styles for a single box, styles should be common to all boxes
- Boxes can not overlap
PD: I've already tried the jQuery Masonry Plugin to let him make the work filling the gap in JS, but no luck, there's no option that does what I need.
Many thanks in advance for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是可以完成的,但不能使用现有的 HTML 流程。
这是一个示例:
并且
It can be done, but not with your existing HTML flow.
Here is an example:
And
您是否正在寻找类似这个的内容?唯一的问题是绿色框与其他框重叠。
和
Are you looking for something like this? The only problem with that is the green box is overlapping the others.
And