请依次验证以下几种情况:
1 是否使用了translate3d
使用translate3d可能使浏览器开启GPU加速,GPU加速的实现原理会导致模糊,详见segmentfault为何使用css3 translate3d会导致显示模糊。不过这一点,笔者没有进行验证。
2 translate计算出元素的最终偏移位置不是整数像素
注意位置和大小的计算避免出现非整数结果即可避免这个问题,这个貌似很有道理的:)。
笔者遇到的问题就是这样解决的↓↓
3 在Chrome浏览器下进行测试,发现对元素同时指定position:fixed和transition:translate才会出现字体模糊的问题
既然是同时指定才会有问题,那么一个解决办法就是将position:fixed设置到外层元素上,而transition:translate施加到子元素上。