Nie ma sposobu, aby to osiągnąć bez uciekania się do Javascript w chwili obecnej.
Jak powiedział @easwee, Modernizr to dobrze znana biblioteka JS, która koncentruje się na wykrywaniu cech. Możesz użyć testu touch
dla swojego przypadku użycia.
Jeśli nie potrzebujesz wszystkich wodotryski modernizr, można wykonać następujące czynności:
A) Załaduj następujące JS już w tagu <body>
jak można:
<script type="text/javascript">
if(!!window.TouchEvent) body.className += " touch-enabled ";
</script>
B) Napisz swój CSS. Od Gecko używa zapytania mediów poinformować o dostępności dotykowym, musisz dupe CSS dotykowy specyficzne, jak w przykładzie:
BODY.touch-enabled DIV.foo
{
/* touch-specific CSS */
}
@media screen and (-moz-touch-enabled)
{
DIV.foo
{
/* touch-specific CSS */
}
}
Jeśli kod per-selektor jest identyczna w obu przypadkach powinien GZIP zoptymalizować część duplikacji. (Korzystasz z kompresji, mam nadzieję.)
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touchevents.js – eimaj