iPad / Safari的CSS正在被小屏幕笔记本电脑使用

时间:2012-12-19 02:32:49

标签: css ipad safari

我们正在使用以下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的笔记本电脑) - 而且在放大大屏幕时似乎也会起作用。

使用设备宽度并不是区分实际设备/浏览器的好方法,但我在互联网上的所有搜索都说这是最好的方法。

还有其他办法吗?

2 个答案:

答案 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 /手机更具体,而不是屏幕尺寸。