css使用tranform:translateY-50%属性进行垂直居中调整的时候会导致被居中元素的边框渲染异常?

新手上路,请多包涵

使用tranform:translateY(-50%)属性进行垂直居中调整的时候会导致被居中元素的边框渲染异常。

clipboard.png

1.改为marin-top调整就是正常的。

clipboard.png

2.改成tranform:translate3d的方式,开启硬件加速也可以正常渲染。

clipboard.png

3.把同级元素去除,使用translateY(-50%)也可以正常渲染。

clipboard.png

请问是什么原因?

阅读 3.1k
2 个回答

解决办法就是放弃css3使用js动态计算。
因为translate视觉上允许0.5px的存在,而本身矩阵式不支持小数像素的。说法不太准确,意思是这么个意思

只要元素是单数的 比如21高度 用transform居中有时就会造成这样的模糊 你把按钮lineheight跟height设置成双数 应该就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题