删除触摸设备上的悬停效果 css
Removing hover effects on touch devices css
这个问题我已经看过好几次了,但似乎没有什么能满足我的要求。
我需要在我的样式表中保留我的 :hover
效果,因为我在桌面上有一些效果。我一点击 900px
就想删除它们。
有没有办法删除悬停,例如,在悬停的某些元素上,我更改了不透明度。我能做到吗
@media screen and (max-width: 900px) {
.my_element:hover {
opacity: none:
}
}
所以在 mobile/touch 屏幕设备上,悬停时不透明度的变化是默认的。
这不是不透明度的正确默认值。默认值为 opacity:1
。您可以使用 MDN(或任何其他资源,但 MDN 通常将其放在最前面和中间)查找默认值,如下所示:https://developer.mozilla.org/en-US/docs/Web/CSS/opacity
另一种选择是将其设置为initial
。这将使规则 opacity: initial;
。 (注意这是not supported in IE,但是在edge中是支持的)
最后,您可以考虑将悬停值放在相反的媒体查询中。对于您的示例,这将是以下内容:
这个问题我已经看过好几次了,但似乎没有什么能满足我的要求。
我需要在我的样式表中保留我的 :hover 效果,因为我在桌面上有一些。一旦达到 900px,我就想删除它们。
有没有办法删除悬停,例如,在悬停的某些元素上,我更改了不透明度。我能做到吗
@media screen and (min-width: 901px) {
.my_element:hover {
/* your hover state style rules */
}
}
没有简单的方法(据我所知)可以简单地删除每个悬停效果。您将必须重置每次悬停应用的个别效果。
但是,我想提一下,在大多数情况下没有必要这样做。对于触摸设备,不应出现悬停效果,因为没有光标可以悬停。随它去吧,认为它无法触及。
您可以颠倒逻辑,使用移动设备优先的方法,而不是在 900 像素处添加悬停效果。即(最小宽度:900px)
这个问题我已经看过好几次了,但似乎没有什么能满足我的要求。
我需要在我的样式表中保留我的 :hover
效果,因为我在桌面上有一些效果。我一点击 900px
就想删除它们。
有没有办法删除悬停,例如,在悬停的某些元素上,我更改了不透明度。我能做到吗
@media screen and (max-width: 900px) {
.my_element:hover {
opacity: none:
}
}
所以在 mobile/touch 屏幕设备上,悬停时不透明度的变化是默认的。
这不是不透明度的正确默认值。默认值为 opacity:1
。您可以使用 MDN(或任何其他资源,但 MDN 通常将其放在最前面和中间)查找默认值,如下所示:https://developer.mozilla.org/en-US/docs/Web/CSS/opacity
另一种选择是将其设置为initial
。这将使规则 opacity: initial;
。 (注意这是not supported in IE,但是在edge中是支持的)
最后,您可以考虑将悬停值放在相反的媒体查询中。对于您的示例,这将是以下内容:
这个问题我已经看过好几次了,但似乎没有什么能满足我的要求。
我需要在我的样式表中保留我的 :hover 效果,因为我在桌面上有一些。一旦达到 900px,我就想删除它们。
有没有办法删除悬停,例如,在悬停的某些元素上,我更改了不透明度。我能做到吗
@media screen and (min-width: 901px) {
.my_element:hover {
/* your hover state style rules */
}
}
没有简单的方法(据我所知)可以简单地删除每个悬停效果。您将必须重置每次悬停应用的个别效果。
但是,我想提一下,在大多数情况下没有必要这样做。对于触摸设备,不应出现悬停效果,因为没有光标可以悬停。随它去吧,认为它无法触及。
您可以颠倒逻辑,使用移动设备优先的方法,而不是在 900 像素处添加悬停效果。即(最小宽度:900px)