transform致使字体模糊

我在给一个定位元素垂直居中的时候惯性的设置了css

.element {
  position: absolute;
  top: 50%;
  transfome: translateY(-50%);
}

设置完成后没有发现问题,后来不管时美工仍是测试都反应这个元素字体模糊。布局

我仍是第一次碰见这个问题。后来通过反复排除认定了时 transform 的锅。测试

通过查资料时应为要移动的元素的高度时奇数的。css 动画在渲染非整数的 px 时就会出现字体模糊。甚至时上下反复移动。字体

解决办法:flex

  • 给定居中元素偶数高度(基本没用,不少状况咱们没法写死高度)。动画

  • 不用动画用margin,不过margin的百分比是相对于父级的。咱们仍是要知道元素的准确高度。code

.element {
  position: absolute;
  top: 50%;
  margin-top: ...;
}
  • 给与定位元素一个父级。使用height:100% 而后设置flex布局的垂直居中
.father {
  display:flex;
  align-items:center
}
相关文章
相关标签/搜索