柔性盒可以嵌套吗?我在水平的flexBox中嵌套了一个水平的flexBox,在垂直的flexBox中嵌套了一个垂直的flexBox.只有水平的水平工程在铬并且不工作在Firefox!
我在这里创建了一个jsfiddle:http://jsfiddle.net/NpkTL/1/
但这里是html:
<div id="A"> <div id="A1">A1</div> <div id="A2"> <div id="A2-container"> <div id="A2a">A2a</div> <div id="A2b">A2b</div> </div> </div> </div> <div id="B"> <div id="B1">B1</div> <div id="B2"> <div id="B2-container"> <div id="B2a">B2a</div> <div id="B2b">B2b</div> </div> </div> </div>
和CSS:
* { margin: 0; padding: 0; font-family: Arial; } #A { position: absolute; top: 0px; left: 0px; background: black; width: 50%; height: 100%; display: -moz-Box; display: -webkit-Box; display: Box; -moz-Box-orient: horizontal; -webkit-Box-orient: horizontal; Box-orient: horizontal; } #A1 { background: brown; width: 100px; height: 80%; } #A2 { background: orange; height: 80%; -moz-Box-flex: 1; -webkit-Box-flex: 1; Box-flex: 1; } #A2-container { display: -moz-Box; display: -webkit-Box; display: Box; -moz-Box-orient: horizontal; -webkit-Box-orient: horizontal; Box-orient: horizontal; width: 100%; height: 100%; } #A2a { background: red; height: 80%; -moz-Box-flex: 1; -webkit-Box-flex: 1; Box-flex: 1; } #A2b { background: blue; width: 100px; height: 80%; } #B { position: absolute; top: 0px; right: 0px; background: gray; width: 50%; height: 100%; display: -moz-Box; display: -webkit-Box; display: Box; -moz-Box-orient: vertical; -webkit-Box-orient: vertical; Box-orient: vertical; } #B1 { background: brown; width: 80%; height: 100px; } #B2 { background: orange; width: 80%; -moz-Box-flex: 1; -webkit-Box-flex: 1; Box-flex: 1; } #B2-container { display: -moz-Box; display: -webkit-Box; display: Box; -moz-Box-orient: vertical; -webkit-Box-orient: vertical; Box-orient: vertical; width: 100%; height: 100%; } #B2a { background: red; width: 80%; -moz-Box-flex: 1; -webkit-Box-flex: 1; Box-flex: 1; } #B2b { background: blue; width: 80%; height: 100px; }
#A在左边,#B在右边. #A和#A2-容器是垂直的flexBoxes和#B和#B2容器是水平的flexBoxes.我为不同的div设置颜色,并在每个级别(垂直和垂直的高度)上缩小它们,以便更容易地看到发生了什么.它看起来很好,在左边(在chrome!),但在右边,#B2a应该垂直填充#B2(橙色的).
我意识到在这个例子中,在3中的中间行/列中使用一个flexBox将更容易使用flex,但是我正在动态地将内容加载到等同于#A2的内容中,而这也恰好是一个flexBox.