弹出框使用了
-webkit-transform: translate3d(-50%, -50%, 0);
来使弹出框垂直居中。,但是弹出框变模糊了。
弹出框的样式为
.pop-alert {
position: fixed;
left: 50%;
top: 50%;
-webkit-transform: translate3d(-50%, -50%, 0);
transform: translate3d(-50%, -50%, 0);
z-index: 999;
min-width: 400px;
border: 4px solid rgba(0,0,0,.5);
background-color: #fff;
padding: 5px;
text-align: left;
}
可以看看这两个实例,第一个实例展示了3D变换导致元素模糊,第二个实例模糊状态得到净化:
http://demo.codingplayboy.com...
http://demo.codingplayboy.com...
元素显示模糊主要是因为使用了transform 3D变换,3D变换会开启GPU加速,GPU加速动画时,并不是把原生DOM传递给GPU,它生成一个元素图像,把该图像发送到GPU,GPU将图像应用为多边形纹理贴图代表元素,GPU可以流畅快速的对这些多边形进行旋转,缩放,转换,倾斜等变换,但由于只是传递元素图像到GPU进行处理,所以它并不能重新渲染内容,图像清晰度不能保证,元素显示清晰度自然就下降了。
更多详情可以查看我的博客http://blog.codingplayboy.com...