展开容器div与内容宽度
我的应用程序中有以下结构:
<div id="container"> <div id="child_container"> <div class="child"></div> <div class="child"></div> ... <div class="child"></div> </div> </div>
每个子div都有一个已知的固定宽度,但应用程序允许更多的插入到child_container div中。
我想要做的是让容器div在需要时水平扩展,给定子容器的总宽度。
这是目前发生的事情:
+------ container -------+ +--- child_container ----+ | child1 child2 child3 | | child4 | +------------------------+
如果我将child_container div的宽度设置为一个固定值,我可以通过容器div水平扩展,尽pipe有点丑陋,
+------ container -------+ +------ child_container -+----+ | child1 child2 child3 child4 | +------------------------+----+
但是,这需要在添加新的孩子时重新计算。
有没有办法做到这一点,而不是使用固定宽度的子容器,最终的结果是这样的
+--------- container ---------+ +------ child_container ------+ | child1 child2 child3 child4 | +-----------------------------+
谢谢。
像这样的东西应该工作:
#container, #child_container, .child { position: relative; float: left; }
更简单:
<style> #container{ display: inline-block; } </style>
添加子元素时,父容器不会增长。
+------ container -------+ +--- child_container ----+ | child1 child2 child3 | | child4 | +------------------------+
但是我们可以通过使用css3 flex框避免在下一行显示新的。 样品放在下面提到的path
.products{ display: -webkit-flex; -webkit-flex-flow: row; /*-webkit-justify-content: center;*/ } .products > div{ padding: 0 4em; }
结果将如下所示:
+--- child_container ----+| | child1 child2 child3 ch|ild4 child5 | | +------------------------+
如果你把剩下的东西都放在包含div的东西上,它就会工作。
只需将父级的宽度设置为120%并完成=)