有人认为模糊的缘由是:“transform时div的宽度或者高度并非偶数,偏移 50% 以后,像素点不是整数,和显示像素没有对上”。我暂时还不彻底理解,个人结论以下文描述。css
随机高度 | 是否模糊 | 备注 |
---|---|---|
298 | No | - |
297 | Yes | - |
163 | Yes | - |
178 | No | - |
结论:当height为偶数时,transform元素不会显示模糊chrome
随机高度 | 是否模糊 | 备注 |
---|---|---|
42px | No | - |
31px | No | - |
31px | No | - |
结论:当 translateY不为百分比,而是px时也不会显示模糊flex
在使用 transform: translate3d(50%, 50%, 0)
时:3d
display: flex; align-items: center
来作,缺点是多了一层父元素display: table