CSS: 如何只在支持悬停的设备上允许悬停状态?

CSS: How to allow the hover state only on devices which support hover?

我正在寻找一种方法来防止触摸设备受到 "simulating" 悬停事件的影响。原因是您不能像在桌面上那样用光标悬停在触摸设备上,这有时会影响用户体验。

因为我没有在网上找到任何解决方案,所以我想我 post 这里是我自己的解决方案。我希望这会对某人有所帮助:)

我实现了仅在具有两个媒体查询的真实悬停状态的设备上悬停。

@media (hover: hover), (-ms-high-contrast:none) {
  div:hover {
    background: red;
  }
}
<div>Hover me!</div>