Css webkit:硬件加速层使页面上的所有文本模糊

Css webkit:硬件加速层使页面上的所有文本模糊,css,webkit,repaint,hardware-acceleration,Css,Webkit,Repaint,Hardware Acceleration,我有一个固定的背景图像页面。我试图通过将背景图像放在自己的图层中来防止onscroll重绘 因此,我在body内部创建了一个元素,该元素具有位置:fixed和背面可见性:hidden,以防止重新绘制。这很好,但是我的页面中的文本现在有点模糊。如果我切换背面可见性,但随后图层在滚动上重新绘制,则文本再次呈现锐利 这对我来说很奇怪,因为我的页面上也有一个固定的标题,使用相同的位置和背面可见性,并且不会引起任何问题 为什么背景图像层会导致在不同层上呈现模糊字体?我怎样才能预防它 另外,这只发生在chr

我有一个固定的
背景图像
页面。我试图通过将背景图像放在自己的图层中来防止onscroll重绘

因此,我在body内部创建了一个元素,该元素具有
位置:fixed
背面可见性:hidden
,以防止重新绘制。这很好,但是我的页面中的文本现在有点模糊。如果我切换
背面可见性
,但随后图层在滚动上重新绘制,则文本再次呈现锐利

这对我来说很奇怪,因为我的页面上也有一个固定的标题,使用相同的
位置
背面可见性
,并且不会引起任何问题

为什么背景图像层会导致在不同层上呈现模糊字体?我怎样才能预防它

另外,这只发生在chrome&opera上,这让我相信这是webkit独有的

使用
背面可见性

不带:

“带背面可见性”屏幕截图使用灰度抗锯齿进行渲染

另一个是使用cleartype(亚像素)抗锯齿渲染的

这就是为什么你看到了差异

在具有透明背景的位图缓冲区上渲染文本时,将使用灰度抗锯齿

为了解决这个问题,我建议定义
背景色:#fff以便为其提供坚实的背景

“具有背面可见性”屏幕截图使用灰度抗锯齿进行渲染

另一个是使用cleartype(亚像素)抗锯齿渲染的

这就是为什么你看到了差异

在具有透明背景的位图缓冲区上渲染文本时,将使用灰度抗锯齿


为了解决这个问题,我建议定义
背景色:#fff以便为其提供坚实的背景

你是否在做一些你没有提到的3D变换?如果不是这样,
背面可见性
在任何时候都不会产生任何影响all@cs-微笑为问题添加了截图@Amit no.但是我相信
背面可见性
与3d变换有着相同的效果,它会在硬件加速中发挥作用。你会做任何你没有提到的3d变换吗?如果不是这样,
背面可见性
在任何时候都不会产生任何影响all@cs-微笑为问题添加了截图@Amit no.但是我相信
背面可见性
与3d变换具有相同的效果,它可以提高硬件加速,只是尝试了一下,似乎没有帮助。我还尝试了
-webkit字体平滑:亚像素抗锯齿不带luckCheck。通常,当内容被渲染到纹理(位图)中时,它们会影响渲染行为。对于三维变换,灰度消除混叠是唯一合理的选择。我选中了,没有应用任何变换。我甚至添加了
*{transform:none!important;}
。问题依然存在,可能是webkit对
背面可见性的详细解释。出于某种原因,它会触发位图缓冲区的创建。只是尝试了一下,似乎没有帮助。我还尝试了
-webkit字体平滑:亚像素抗锯齿不带luckCheck。通常,当内容被渲染到纹理(位图)中时,它们会影响渲染行为。对于三维变换,灰度消除混叠是唯一合理的选择。我选中了,没有应用任何变换。我甚至添加了
*{transform:none!important;}
。问题依然存在,可能是webkit对
背面可见性的详细解释。出于某种原因,它会触发位图缓冲区的创建。