Scale + Opacity 导致模糊和其他变化

问题描述

我遇到了一个问题,即在修改 <div> 的不透明度(或任何过滤器)时缩放它会导致 <div> 及其内容发生不必要的更改。

查看此示例(在 Chrome 中测试):

div {
  width: 100px;
  height: 50px;
  margin: 20px;
  border: 1px solid black;
  text-align: center;
  /* filter: invert(0); */
  transform: scale(1.16491);
}

div:hover  {
  transition: opacity 0.4s;
  transition-delay: 0.75s;
  opacity: 0.5;
}
<html>
  <body>
    <div>
      Hover Over Me
    </div>
  </body>
</html>

注意当不透明度(这是一种过滤器)应用于 <div> 时,它的边框是如何变得模糊的。当我使用 filter 属性添加一个过滤器时,问题变得更加复杂。然后,内容也变得模糊(取消注释 filter: invert(0); 以查看)。在此示例中添加 translateZ(0) 可能会有所帮助,但在我的实际用例中却无济于事(不知道为什么)。

解决此问题的任何帮助表示感谢。

解决方法

经过大量调查后,我发现将比例四舍五入到小数点后以偶数结尾的两位数字会解决我的用例问题。然而,它不能解决问题中的示例,但可以通过添加 translateZ(0) 来解决。

我希望这两种解决方案之间的所有用例都能得到解决。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...