2014-11-05 94 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/

他談到實現你的努力做的各種方法,然後解釋的缺陷是什麼。最終得出結論,如果你試圖檢測它是否是觸摸屏,那麼你反正可能會用錯誤的方式去做。

考慮將所有用戶視爲觸摸屏用戶,因爲不是每個人都用鼠標光標環視屏幕。