在我当前的项目中,可容忍的加载时间存在性能限制,并且测试部署表明延迟非常重要,足以让我研究代码优化。
在研究 CSS flexbox 的性能时,我的理解是它比旧的 flexbox 实现和 CSS 表(Source)都快。比较 flexbox 和新出现的 CSS Grid ( Source ) 时,grid 在 2D 布局中表现更好,这是意料之中的,因为它是为此而设计的,而 flex 是为 1D 布局而设计的。
然而,当涉及到 1D 布局时,grid 在使用 CSS flex 时的性能优于后者align-items: stretch
(该属性的默认值)。但是,当stretch
不使用时,flex 表现更好。
所以这就是问题所在:拉伸对齐很有用,但对性能有很大影响(这对我来说很重要,因为我的项目系统大量使用 iframe 和每个框架内的嵌套弹性框)。因此,如果我不使用拉伸并将其替换为其他替代方法(例如width: 100%
或height: 100%
取决于弯曲方向)对于尚未在没有拉伸的情况下填充整个空间的特定元素,它会因此提高性能吗?