html - CSS flexbox 布局中断

标签 html css flexbox

我试图让这个布局正常工作,但是当你垂直缩放窗口时它似乎有问题。我需要侧边栏面板具有静态高度的页眉和页脚,并且我需要能够在左侧或右侧边栏中添加 1-3 个面板,并让它们垂直占据整个空间,而不会脱离容器。这被证明是非常困难的。

感谢任何提示!

这是个问题,当您将窗口缩放得更小或更大时,面板(灰色+白色框)不会占据整个空间,或者占据太多空间。 enter image description here enter image description here

http://codepen.io/AlexBezuska/pen/emqgwo?editors=110

.panel{
  display: flex;
  flex-flow: column;
  //padding: 1em;
  overflow: hidden;

}

header {
  height: 32px; //must be 32px
  background: #c0c0c0;
}

footer{
  background: #cfcfcf;
  height: 32px; //must be 32px
}

.select-list {
  //flex: 1;
  overflow-y: scroll;
  max-height:16vh;
}

.select-list-item {
  background: white;
  border: 1px solid black;
  height: 32px; //must be 32px
}

//===============================================

body  {
  display: flex;
  min-height: 100vh;
  max-height: 100vh;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
}

.layout-middle{
  display: flex;
  flex: 1;
}

.layout-stage{
  flex: 1 0 320px;
  background: #ffc94e;

}

.layout-left, .layout-right{
  flex: 0 0 320px;
  background: #c9ea5d;
}

.layout-left{
  background: #85d6e4;
}

.layout-header{
  height: 100px; //must be 100px
  background: #92e4c9;
}

.layout-footer{
  height: 150px;//must be 150px
  background: #f7846a;
}

最佳答案

只要在其中也使用 flex

添加:

.layout-left{
    flex-direction: column;
}

.panel{
    flex: 1 1 33%;
}

codepen

关于html - CSS flexbox 布局中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907679/

相关文章:

javascript - 数据表搜索框

jquery - 在 jquery 中,如何通过单击按钮引用当前表单

php - 如何使用flexbox布局多列?

html - 将不完整的行放在顶部

html - 使用 css 在图像后添加响应式水平线

html - 浏览器之间奇怪的文本换行差异

javascript - 过渡/动画后CSS触发javascript

html - 如何用html和css实现堆叠样式效果?

javascript - 不应自动选择 select 的第一个选项

asp.net-mvc - 如何创建自动适应分辨率的网页?