mobile safari links retains focus after touch

前端 未结 8 528
天涯浪人
天涯浪人 2020-12-13 13:33

My navigation is quite simple. I have a hover state which adds a border and a transparent gradient png background to some text, and an additional class which, when added by

8条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-13 13:55

    Hover is a CSS pseudo class designed to work with a pointer not so much with touch events. You would normally want to avoid the use of hover altogether since it makes no sense on mobile. One of the easiest ways to deal with this is by placing your hover CSS inside a media query. You can do this by targeting tablets or desktop screens, here are the two solutions:

    1- Targeting iPads:

    @media only screen 
    and (min-device-width : 768px) 
    and (max-device-width : 1024px) {
        RE.no-touch .my-element:hover {
             /* in here you cancel all hover styles you applied for desktop */ 
        }
    }
    

    2- Targeting desktops:

    @media only screen 
    and (min-width : 1224px) {
        RE.no-touch .my-element:hover {
             /* in here you apply hover styles that will only work on desktop */ 
        }
    }
    

    Either way is valid. You can change the values of min and max width if you notice that the CSS is being triggered incorrectly in certain devices.

提交回复
热议问题