Không có cách nào để thực hiện điều này mà không cần sử dụng Javascript, hiện tại.
Như @easwee đã nói, Modernizr là thư viện JS được đánh giá cao tập trung vào phát hiện tính năng. Bạn có thể sử dụng thử nghiệm touch
cho trường hợp sử dụng của mình.
Nếu bạn không cần tất cả các chuông và còi Modernizr, bạn có thể làm như sau:
A) Tải JS sau càng sớm trong thẻ <body>
của bạn khi bạn có thể:
<script type="text/javascript">
if(!!window.TouchEvent) body.className += " touch-enabled ";
</script>
B) Viết CSS của bạn. Kể từ Gecko sử dụng một truy vấn phương tiện truyền thông để thông báo cho bạn về những tính sẵn sàng liên lạc, bạn sẽ phải đánh lừa Phương CSS liên lạc cụ thể, như vậy:
BODY.touch-enabled DIV.foo
{
/* touch-specific CSS */
}
@media screen and (-moz-touch-enabled)
{
DIV.foo
{
/* touch-specific CSS */
}
}
Nếu mã mỗi selector là giống hệt nhau trong cả hai trường hợp, GZIP phải tối ưu hóa một số sự trùng lặp. (Bạn đang sử dụng nén, tôi hy vọng.)
Nguồn
2011-06-16 17:47:51
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touchevents.js – eimaj