【发布时间】:2017-12-18 11:32:56
【问题描述】:
我对 flexbox 很陌生。我当前的布局不如我希望的那样工作 - 我的列仅与其中的内容一样高。
+----------------+
| header |
+-+--------------+
|n|content |
|v+--------------+
+-+
empty
----------------------
我希望 flexbox 能解决这个问题。我必须改造我现有的标记。
页面是全屏宽度,带有全角标题,然后页面的其余部分是具有固定宽度侧边栏的可变宽度内容。 (有些页面左侧有一个侧边栏,其他页面右侧有一个。)
理想情况下,两个内容区域都将延伸到页面底部(带有彩色背景),但只有在内容长于页面时才会越过折叠并滚动。
+----------------+
| header |
+-+--------------+
|n| content |
|a| |
|v| |
--+-+--------------+--
我是否将整个页面视为“容器”,在其中创建两行,其中一个是拆分的?还是我只是从具有侧边栏的第二行开始 flexbox 的东西?
在我看来,它必须是前者,如果 flexbox 要知道我的标题有多高。否则,当我将它们的高度设置为 100% 时,它们会超出折叠部分的数量等于我的页眉。
我没有在 flexbox 文档中看到 header-and-split-columns 作为简单示例,但我会继续阅读和试验。
(当然,它还必须是响应式的,因此,在较小的屏幕尺寸下,元素会相互包裹以适应狭窄的屏幕。)
【问题讨论】:
-
CSS 网格布局可能是更好的方法 (mozilla.org/en-US/developer/css-grid)。