我们正在使用以下HTML元标记和样式查询来允许我们定位iPad / Safari浏览器(与Windows / Linux浏览器相比,iPad中的一些小变化):
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" media="only screen and (max-device-width: 1024px)" href="style/tablet.css" />
但是tablet.css文件也被加载到较小的笔记本电脑上(即那些小于1024px的笔记本电脑) - 而且在放大大屏幕时似乎也会起作用。
使用设备宽度并不是区分实际设备/浏览器的好方法,但我在互联网上的所有搜索都说这是最好的方法。
还有其他办法吗?
答案 0 :(得分:2)
您必须为此恢复为javascript
您可以使用modernizr来检测触摸事件支持
http://modernizr.github.com/Modernizr/touch.html
Modernizr会在<html>
标记中添加一个类,以便您可以非常轻松地定位触控支持设备。
如果您想要更准确,可以使用javascript检测用户代理,但需要定期更新更新和新的平板电脑操作系统版本。
答案 1 :(得分:0)
让你的@media查询更精细,有助于更好地清除不需要的设备/浏览器:
<link rel="stylesheet" media="only screen and (max-device-width: 1024px) and (orientation : portrait)
and (-webkit-min-device-pixel-ratio: 2)" href="style/tablet.css" />
使用-webkit-min-device-pixel-ratio:
和orientation
比iPad /手机更具体,而不是屏幕尺寸。