2014-11-05 88 views
1

我有布局,其中按钮的80%与提示描述出现在功能图标显示元素:悬停CSS - 在触摸屏设备只

使用CSS和媒体查询只显示其他类是否有可能(例如.button-info),如果在触摸屏设备上查看网站。除了根据分辨率和方向猜测什么类型的设备用户可能正在使用?

+0

您是否尝试过使用':focus'? – Morpheus 2014-11-05 16:31:13

+2

由于这需要检测是否启用触摸,请尝试此线程; http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript – MrMarlow 2014-11-05 16:31:59

+0

如何能够:专注于此目的? MrMarlow,我想避免使用jQuery。 – Pejs 2014-11-05 16:41:15

回答

1

你所要求的由W3C developped为CSS4:http://dev.w3.org/csswg/mediaqueries-4/#pointer

你会使用:

@media (pointer: coarse) and (hover: none) { 
    /* your touchscreen specific rules */ 
} 

但它是可现在,所以你必须使用解决方法,使用设备宽度和方向。

注意:这就是如果你想使用CSS唯一的解决方案。

+0

您的答案__maybe__将在未来有用,但我没有看到现在发布它的一个观点。 – Morpheus 2014-11-05 16:45:09

+0

OP询问是否有本地的,非hacky的CSS方式来检测触摸屏,并且我正在回答。 – 2014-11-05 16:46:12

+0

如果目前没有解决问题,你会接受你自己的答案吗? – Morpheus 2014-11-05 16:48:55

1

这个问题(Media query to detect if device is touchscreen

这家伙,你应该考虑的一些好点类似。

http://www.stucox.com/blog/you-cant-detect-a-touchscreen/

他谈到实现你的努力做的各种方法,然后解释的缺陷是什么。最终得出结论,如果你试图检测它是否是触摸屏,那么你反正可能会用错误的方式去做。

考虑将所有用户视为触摸屏用户,因为不是每个人都用鼠标光标环视屏幕。