我不同意 robertc 的说法“但回到您的实际问题:如果您以像素为单位设置宽度,我发现 Firefox 和 Chrome 的显示相同,但如果您将宽度设置为百分比,则不会。”
我目前正在使用 flexbox 试图展示将一个相当繁重的 JS 和 CSS 站点转换为一个非常简单的 HTML/CSS3 站点是多么简单。一旦得出关于以像素为单位设置宽度的结论:
#main {
display: box;
}
#main > section {
width: 120px;
padding: 10px;
border: 5px solid #000;
}
在 chrome 中,总宽度 = 120 + 20 + 10 = 150px 在 ff 中,总宽度 = 120px(20px 填充在 120 内,10px 边框也在)
我发现的另一个不一致之处是,在 chrome 中,#main 是贪婪的,并且占用 100%,正如您可能预期的那样。在 Firefox 中,您需要在#main 上设置为 100% 以使其按预期运行。
我仍在努力消除所有支持的浏览器中的所有差异,当我有更多内容要添加时,我会尝试发布。可悲的是,尽管他的 flexbox 模型很酷,也很简单,但它却很不协调。
还有一件事,使用 CSS 过渡来更改尺寸适用于明确定义的尺寸(即像素)......但如果尺寸是由盒子的 flex 定义的,动画只是在 flex 值之间跳转......平滑(不过,您可以使用 500 和 100 的 flex,而不是 5 和 1 的弯曲)。事实上,chrome 不会在 flex 值之间进行动画处理,只会跳转。另一方面,FF 很好地做到了这一点。
我只是真的希望事情进展到 FF 处理 flexbox 的方式,虽然 chrome 很接近,但我只是不同意某些事情的处理方式,而且 flex 值之间缺乏动画简直糟透了。