Performance 在*元素上使用背面可见性

Performance 在*元素上使用背面可见性,performance,css,webkit,Performance,Css,Webkit,我在一个带有固定侧导航的网站上做一些工作,该导航可以滚动页面 现在我注意到,webkit渲染引擎()中的元素存在一些问题:修复了元素,为了解决这些问题,我使用了-webkit backface visibility:hidden 这篇文章在使用固定元素时对webkit的描述是,它试图检查受损区域,看看它们是否在同一个复合层内,并在滚动时将它们统一为一个绘制矩形 现在我对这两个组件都没有任何bug或问题,但我想知道如果,比如box size:border-box我将在CSS中添加以下内容: * {

我在一个带有固定侧导航的网站上做一些工作,该导航可以滚动页面

现在我注意到,webkit渲染引擎()中的
元素存在一些问题:修复了
元素,为了解决这些问题,我使用了
-webkit backface visibility:hidden

这篇文章在使用固定元素时对webkit的描述是,它试图检查受损区域,看看它们是否在同一个复合层内,并在滚动时将它们统一为一个绘制矩形

现在我对这两个组件都没有任何bug或问题,但我想知道如果,比如
box size:border-box我将在CSS中添加以下内容:

* {
    backface-visibility: hidden;
}
前缀剥离

  • 这在我的网页上会有很大的点击率吗
  • 这能修复bug吗?(webkit有时会做一些非常奇怪的事情)
  • 这可能有哪些其他优势/劣势

提前谢谢,如果我的问题太模糊,我会在不远的将来从你们那里听到;)

像这样的性能点击不太可能被普通用户注册,但是如果你在追求索引分数,那么ping很可能会伤害你

对于您列出的场景,如果您使用的是LESS或SASS之类的预编译器,我建议您将固定规则放在混合或继承中,类似于SASS中的以下内容:

.fixed {
  position: fixed;
  -webkit-backface-visibility: hidden;
}
.my-totally-bitchin-header {
  @extend .fixed
  /* Does other cool stuff too */
}
这样,您就避免了catch-all-splat CSS选择器的命中率(诚然是很小的),并且您可以明智且轻松地将该规则应用于需要它的元素

即使你是手写CSS,小心地应用这条规则也可以防止将来3D CSS动画或其他附加到你网站上的花哨内容可能产生的任何意外后果。在这里,使用手术刀比使用弯刀更好