1

我有一个媒体查询 -->@media all AND (max-width: 1024)..它在三星平板电脑上运行良好,但我需要这个只适用于平板电脑而不是电脑。如果设备是个人电脑,它应该只有@media屏幕和(最大宽度:768px)..我该怎么做?

4

3 回答 3

1

您无法通过媒体查询检查设备(PC、平板电脑、手持设备),只能检查设备宽度(更多,我知道,但操作要求设备宽度)。

也许这篇文章会帮助你更多地了解它?

于 2013-03-06T14:03:23.730 回答
0

媒体查询永远不应该是特定于设备的——您只需说“对于这种大小的输出执行此操作,但对于不同大小的输出执行此操作”。无论是手机、PC、平板电脑、信息亭、手表还是其他任何东西都应该是无关紧要的。出于这个原因,媒体查询不允许您查询硬件。

您可能需要基于设备功能的不同行为(而不是样式),例如。这是一个“触摸”设备吗?但这应该在 JS 而不是 CSS 中管理。

您查询的实际目标是什么?将 CSS 应用于 PC 和平板电脑是否重要?

于 2013-03-06T14:03:46.027 回答
-1

简短的回答:你没有。

更长的答案:您以错误的方式进行操作。

很容易陷入使用屏幕宽度来定位特定设备的陷阱,但那是爱丽丝梦游仙境的兔子洞。为什么?因为移动设备的宽度与桌面的宽度重叠。

例如,这里有一个屏幕宽度列表,你能猜出哪些是桌面的吗?

1024
1366
1200
1080

你猜怎么了?我敢打赌,你的猜测是错误的。1024 及以上似乎是“桌面”分辨率,但 iPhone 5 Retina 为 1136x640,第三代 iPad 为 2048x1536。更复杂的是,许多使用台式机的人不会将浏览器保持最大化,因此设备宽度不等于浏览器宽度。Kindle 上会发生什么,它具有更高的分辨率,但也增加了文本大小?

越来越多的设备定期进入市场。

那么,你最好的选择是什么?完全放弃针对特定设备或设备类的想法。如果您必须这样做,请使用 JavaScript 来查找触摸屏(因为这是您需要专门为一类设备调整界面的最可能原因)。

您仍然可以使用媒体查询来定位宽度(或者更好的是,根据我的经验,使用比例媒体查询),但不要期望它一定能在给定的设备上工作。

于 2013-03-06T14:10:30.813 回答