相关疑难解决方法(0)

CSS flex-basis: 0% 与 flex-basis: 0px 有不同的行为

根据MDNflex: 1应该设置简写flex-basis: 0。然而,它实际上设置了flex-basis: 0%,更令人惊讶的是,它有不同的行为。

在下面的示例中,我期望div.middle缩小和滚动,因为它已经给出了overflow-y: autoflex: 1,这也应该意味着flex-basis: 0。但事实并非如此——整个身体反而滚动,因为它拒绝收缩。如果您取消注释 显式flex-basis: 0,则它可以正常工作。

body {
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
}
.outer {
  min-height: 100%;
  display: flex;
  background: #99f;
  flex-direction: column;
}
.middle {
  background: #f99;
  flex: 1;
  /*flex-basis: 0;*/
  overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div class='outer'>
  <div class='top'>top</div>
  <div class='middle'>
    A
    <div style='height:800px'></div>
    B
  </div>
  <div class='bottom'>bottom</div> …
Run Code Online (Sandbox Code Playgroud)

css flexbox

6
推荐指数
1
解决办法
2097
查看次数

标签 统计

css ×1

flexbox ×1