【发布时间】:2017-11-07 10:02:30
【问题描述】:
它尊重margin-bottom 只有当有足够的空间时。否则 Firefox 的行为就好像根本没有 margin-bottom。
Chrome 完整版:
镀铬收缩:
Firefox 缩小:
flexbox 的行为是否正确?如何解决?
.container {
position: fixed;
display: flex;
flex-direction: column;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: auto;
}
.grow {
flex-grow: 1;
flex-shrink: 0;
background: #8f8;
}
.content {
width: 500px;
margin: 20px auto;
border: 1px solid currentColor;
background: #f88;
}
<body>
<div class="container">
<div class="grow"></div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatibus, facilis omnis inventore, illum eos quis fuga quos id, labore consectetur quas. Unde sed nemo nobis recusandae saepe ex nulla accusantium?</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias asperiores a enim magnam voluptatem. Ab sint possimus quis odit vero explicabo unde quod rem, quasi voluptatibus cupiditate voluptatem veritatis repudiandae.</p>
</div>
<div class="grow"></div>
</div>
</body>
【问题讨论】:
-
考虑将
flex-basis添加到.grow。 codepen.io/anon/pen/LLVpZN?editors=1100 -
@Michael_B 使用
flex-basis你将强制拥有至少1px 高度的.grow元素。当屏幕太小时,我不想要它们。