Firefox 不遵守 Flex 收缩
Firefox Not Respecting Flex Shrink
目标: A nav
,使用 flexbox,左侧有徽标,右侧有可变数量的 nav
项目。当 nav
项目变得足够宽而没有足够的空间容纳 nav
和徽标时,徽标会缩小。
.logo{
display: flex; flex-shrink:1;flex-grow:0;
}
.nav-container{
display: flex; flex-shrink:0;flex-grow:2;
}
问题: 它在 Chrome 中运行良好,但在 Firefox 中运行不佳。
尝试使用 flex-basis
但它创建了一个特定的比率并破坏了 Chrome 中的工作示例。
演示: http://codepen.io/leggomuhgreggo/pen/BobwYz
谢谢!
您需要将 min-width:0
添加到 .logo{}
规则中。这允许它缩小到其最小固有尺寸以下(Firefox 将其计算为 img
的固有宽度)。
Here's your demo with that change.
(旁注:Chrome 和 Firefox 在这里表现不同的事实是 this bug 的一个实例。Chrome 尊重 img's
百分比最大宽度,当计算 flex 项目的最小内在大小;Firefox 不是。如果你在 img
样式规则上删除 max-width:100%
,那么你会看到 Chrome 更改其呈现以匹配 Firefox & 拒绝让徽标缩小,除非您添加 min-width:0
.)
目标: A nav
,使用 flexbox,左侧有徽标,右侧有可变数量的 nav
项目。当 nav
项目变得足够宽而没有足够的空间容纳 nav
和徽标时,徽标会缩小。
.logo{
display: flex; flex-shrink:1;flex-grow:0;
}
.nav-container{
display: flex; flex-shrink:0;flex-grow:2;
}
问题: 它在 Chrome 中运行良好,但在 Firefox 中运行不佳。
尝试使用 flex-basis
但它创建了一个特定的比率并破坏了 Chrome 中的工作示例。
演示: http://codepen.io/leggomuhgreggo/pen/BobwYz
谢谢!
您需要将 min-width:0
添加到 .logo{}
规则中。这允许它缩小到其最小固有尺寸以下(Firefox 将其计算为 img
的固有宽度)。
Here's your demo with that change.
(旁注:Chrome 和 Firefox 在这里表现不同的事实是 this bug 的一个实例。Chrome 尊重 img's
百分比最大宽度,当计算 flex 项目的最小内在大小;Firefox 不是。如果你在 img
样式规则上删除 max-width:100%
,那么你会看到 Chrome 更改其呈现以匹配 Firefox & 拒绝让徽标缩小,除非您添加 min-width:0
.)