默认情况下所有元素都是没有高度的,设计时一般为了避免留白,会将内容区域自动展开,最小占据一屏。所以会有一层是包含高度的,比如图 1中设置的 height,当然也别忘了加 overflow 让该层支持溢出滚动,否则内容就超出了。
图 1
单页应用,尤其是 to B 的,页面中经常会有某块面板(比如左侧是一个树,右侧上方是节点详情,右侧下方是节点的一些资源),而这块面板同样也会撑开填满页面。这时候一般会采用 flex 布局,因为高度很难计算,甚至再复杂点,里面还有一层面板,也同样需要默认撑满剩余空间。
图 2
最终通过 flex 层层传递,层层撑开,看上去效果是不错,但是在某些情况下 flex 撑开的高度是有问题的,具体问题忘记了,大概是没有高度导致的问题,留待想起后再更新吧(其实主要就是为了那个问题所写,但是时间太久忘记了)。
图 3