我创建了一个旋转木马,并添加了上一个和下一个按钮,这些按钮始终可见。这些按钮有悬停状态,它们会变成蓝色。在iPad等触摸设备上,悬停状态是粘性的,因此在点击后按钮会保持蓝色。但我不希望出现这种情况。
我可以为每个按钮添加一个
no-hover
类,并在ontouchend
时更改CSS如下:button:not(.no-hover):hover { background-color: blue; }
但这可能对性能影响较大,并且不能正确处理像Chromebook Pixel(具有触摸屏和鼠标)这样的设备。我可以向
documentElement
添加touch
类,并将我的CSS更改如下:html:not(.touch) button:hover { background-color: blue;}
但是这也不能在同时具有触摸和鼠标的设备上正确工作。
我更喜欢在ontouchend
时删除悬停状态。但似乎这是不可能的。将焦点放在另一个元素上并不能删除悬停状态。手动点击其他元素可以,但我似乎无法在JavaScript中触发该事件。
我找到的所有解决方案都不完美。是否有完美的解决方案?
[@media(hover:hover)]:hover:bg-red-400
。只有在前面的任意变量为真时,它才会应用该悬停样式。 - zenw0lf