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