【发布时间】:2011-10-14 13:50:44
【问题描述】:
有没有办法使用 javascript 获取用户设备宽度,而不是视口宽度?
CSS 媒体查询提供了这一点,我可以说
@media screen and (max-width:640px) {
/* ... */
}
和
@media screen and (max-device-width:960px) {
/* ... */
}
如果我将智能手机定位为横向,这很有用。例如,在 iOS 上,max-width:640px 的声明将针对横向和纵向模式,即使在 iPhone 4 上也是如此。据我所知,Android 并非如此,因此在此实例中使用 device-width 成功地针对两个方向,不针对桌面设备。
但是,如果我基于设备宽度调用 javascript 绑定,我似乎仅限于测试视口宽度,这意味着需要额外的测试,如下所示,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
考虑到设备宽度可用于 css 的提示,这对我来说似乎并不优雅。
【问题讨论】:
-
试试这个网站以了解您设备的正确尺寸。 responsejs.com/labs/dimensions
-
Modernizr可以帮助您做到这一点“干净和通用的方式”:stackoverflow.com/questions/25935686/…。关于第一条评论:您可能想谷歌“Modernizr vs媒体查询”以找出最适合您的用例的方法
标签: javascript css media-queries