Flexbox的Chrome显示问题和溢出

布莱利·胡珀

我正在使用flexbox进行简单的页眉/正文/页脚布局。但是,当我的“正文”中包含很多内容(足以强制使用滚动条)时,我在Chrome中看到了一个问题:它迫使页眉和页脚元素在不应该缩小时缩小。这仅在Chrome中发生(IE11和Firefox可以正常工作)。我应该改用CSS吗?还是Chrome有问题?

我已将HTML / CSS简化到最低程度以显示该问题,并创建了一个屏幕快照比较,以比较在不同浏览器(http://i.stack.imgur.com/Qn5Ln.png)中看到的内容

body { height:100%; position:absolute; left:0; top:0; right:0; bottom:0; background:red; display:flex; flex-direction:column; }

div { padding:10px; background:green; }

div#stretch { overflow:auto; flex:0 1 auto; min-height:200px; background:blue; }

#space { height:80000px; display:block; }
<div>Header</div>
<div id="stretch">
    <span id="space"></span>
</div>
<div>Footer</div>

i

在Firefox上可以使用,因为从版本34开始,它就实现了auto作为的初始值min-height请参阅如何在FF 34.x中获得FF 33.x Flexbox行为?有关更多信息。

实际上,您可以检查是否设置min-height: 0了CSS 2.1的初始值,Firefox的行为类似于Chrome。

* { min-height: 0; }

* {
  min-height: 0;
}
body {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: red;
  display: flex;
  flex-direction: column;
}
div {
  padding: 10px;
  background: green;
}
div#stretch {
  overflow: auto;
  flex: 0 1 auto;
  min-height: 200px;
  background: blue;
}
#space {
  height: 80000px;
  display: block;
}
<div>Header</div>
<div id="stretch">
  <span id="space"></span>
</div>
<div>Footer</div>

但是,您想要相反。Chrome目前不支持min-height: auto,但还有另一种方法:您可以禁用缩小

* { flex-shrink: 0; }

* {
  flex-shrink: 0;
}
body {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: red;
  display: flex;
  flex-direction: column;
}
div {
  padding: 10px;
  background: green;
}
div#stretch {
  overflow: auto;
  flex: 0 1 auto;
  min-height: 200px;
  background: blue;
}
#space {
  height: 80000px;
  display: block;
}
<div>Header</div>
<div id="stretch">
  <span id="space"></span>
</div>
<div>Footer</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

最新的Chrome和Flexbox /溢出问题

来自分类Dev

Firefox,Flexbox和溢出

来自分类Dev

Chrome出现CSS过渡和溢出y:scroll或auto问题

来自分类Dev

滚动时文本溢出省略号未在Chrome和IE中显示溢出内容

来自分类Dev

Chrome和Safari绝对Div显示问题

来自分类Dev

在Firefox和Chrome 48中使用flexbox呈现问题

来自分类Dev

Google Chrome-Flexbox +溢出-x:自动

来自分类Dev

溢出问题:隐藏在Chrome的“视网膜”显示屏上

来自分类Dev

溢出问题:隐藏在“视网膜”显示屏上的Chrome中

来自分类Dev

flexbox跨浏览器问题chrome正确显示Firefox无法显示

来自分类Dev

滑块和溢出问题

来自分类Dev

Flexbox和溢出:隐藏无法正常工作

来自分类Dev

Flexbox +溢出:隐藏仅在Chrome中有效

来自分类Dev

CSS Flexbox - 展开容器下载以显示溢出内容

来自分类Dev

Phonegap和Android溢出问题

来自分类Dev

Phonegap和Android溢出问题

来自分类Dev

g ++和严格溢出问题

来自分类Dev

div 浮动和溢出隐藏问题

来自分类Dev

Chrome 100% 宽度和 100 vw 溢出

来自分类Dev

由于填充和边距,Flexbox 子项溢出

来自分类Dev

隐藏溢出不适用于 flexbox 和 margin auto

来自分类Dev

输入标签的Chrome显示问题

来自分类Dev

溢出问题:Chrome中鼠标悬停时隐藏

来自分类Dev

Chrome中的CSS列计数溢出问题

来自分类Dev

Flexbox布局和滚动条问题

来自分类Dev

flexbox和网格布局问题

来自分类Dev

Flexbox溢出隐藏

来自分类Dev

防止 flexbox 溢出

来自分类Dev

Chrome和Firefox的onbeforeunload问题