在Chrome 47上(正确的行为):
在Chrome 47上,带.scroll的div正确滚动,使用flex取高度100%.
在firefox上(错误的行为):
在firefox上,使用.scroll的div正在使用内容高度而不是正确滚动.
什么是这个问题的跨浏览器解决方案?
http://jsfiddle.net/d4nkevee/
for (var i = 0; i < 100; i++) $(".scroll").append("Dynamic content<br>");
body,HTML { margin: 0; padding: 0;}.container { Box-sizing: border-Box; position: absolute; height: 100%; wIDth: 100%; display: flex; flex-direction: column;}.content { background: yellow; flex: 1; display: flex; flex-direction: column;}.scroll { flex: 1 1 auto; overflow: scroll;}
<div > <div >Small</div> <div > <div>Static content</div> <div ></div> <div>Static content</div> </div> <div >Small</div> </div>
问题已更新,以区分Chrome 47和Chrome 48.
解决方法 更新了flexBox规范,使flex项的默认最小大小等于内容的大小:min-wIDth:auto / min-height:auto.您可以使用min-wIDth覆盖此设置:0 / min-height:0:
.content { background: yellow; flex: 1; display: flex; flex-direction: column; min-height: 0; /* NEW */ min-wIDth: 0; /* NEW */}
http://jsfiddle.net/d4nkevee/1/
错误报告:https://bugzilla.mozilla.org/show_bug.cgi?id=1043520
以下是规范中的一些细节:
07002
To provIDe a more reasonable default minimum size for flex items,this
specification introduces a newauto
value as the initial value of
themin-wIDth
andmin-height
propertIEs defined in CSS 2.1. (07003)
UPDATE
Chrome似乎已更新其渲染行为. Chrome 48现在可以根据最小的d性尺寸来模拟firefox.
根据以下链接中的报告,上述解决方案也适用于Chrome 48.
> Possible Chrome 48 flexbox bug causing layout issues. #6841
> Issue 580196: Nested ‘flex-direction:column’ elements don’t shrink properly
以上是内存溢出为你收集整理的html – 在Firefox和Chrome中使用flexbox渲染问题48全部内容,希望文章能够帮你解决html – 在Firefox和Chrome中使用flexbox渲染问题48所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)