Make iOS Show CSS :hover Styles Without Any JS

Occasionally I’ll build an interaction that happens entirely in CSS via hover or focus on a non-standard element. Unfortunately, iOS doesn’t apply hover states when you tap on, say, a div. The solution is to get iOS to treat that element like a link by listening for clicks.

One way to do this without changing any other behavior on the page is to add an onclick to the desired element:

<div onclick="void(0)" class="fancy-hover">…</div>

Tapping will now trigger the :hover CSS styles for this element. Tapping away, doesn’t have the desired effect by default. In those cases, you can also add this:

<body onclick="void(0)">…</body>

This assumes you’re not using the onclick attribute because it’s 2017 and there are better ways of registering those click handlers. ;)

 
132
Kudos
 
132
Kudos

Now read this

Don’t Disable My UI

I recently saw another designer using minimal-ui in his <meta name="viewport"> declaration. And then I saw Daniel Eden explain it on Twitter, and go so far as to include it on his own website. Adding “minimal-ui” to the viewport... Continue →