奇怪的 CSS ''overlay effect'' 在移动浏览器上

Strange CSS ''overlay effect'' on Mobile Browsers

我刚学会用 CSS 制作动画。在桌面 Chrome 上一切正常。但是当我在 Chrome 上检查 Android 时 - 单击时会出现一些奇怪的叠加效果。

Code

.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  position: relative;
  margin: 0 auto;
  outline: none;
  border: none;
  background-color: #ff8800;
  padding: 25px 65px;
  font-size: 25px;
  text-transform: uppercase;
  border-radius: 25px;
  box-shadow: 0 8px #ff6600;
  cursor: pointer;
  top: 0;
  transition: all .3s;
}

.btn:hover {
  top: 3px;
  box-shadow: 0 5px #ff6600;
}

.btn:active {
  top: 8px;
  box-shadow: none;
}
<button class="btn">Click Me!</button>

截图:

正常状态:

点击时:

如何摆脱移动浏览器上的这种奇怪覆盖?谢谢。

-webkit-tap-highlight-color: transparent; 添加到您的 .btn class(或者甚至全局添加到 body,如果您想在所有可点击元素上阻止此操作)。

参考:https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-tap-highlight-color

演示:https://codepen.io/teodragovic/pen/yjYLaM?editors=0100#0