繁体   English   中英

使用javascript查找实际屏幕分辨率(不是CSS像素,真实屏幕)

[英]Find actual screen resolution (not CSS pixels, real screen) with javascript

如今,像素和点(CSS 像素、DIPS)之间存在很大差异。 在我的特定计算机上,它是相同的,但在视网膜 Mac 和许多手机上,每点有 4 或 8 个像素。 http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

也就是说,CSS 声明中使用的“像素”,例如 width: 300px 或 font-size: 14px,与设备的实际像素密度无关,甚至与传闻中即将到来的中间层无关。 它们本质上是一个专门为我们 Web 开发人员创建的抽象结构。

我想获得屏幕分辨率(真正的屏幕分辨率,您现在已经知道了),然后提供缩放以最大程度地填充屏幕的图像。 这意味着无需在移动设备上获得 2000x2000 像素的图像,同时在大型 Mac 上仍能获得良好的分辨率。 悬停,当使用screen.height它返回 CSS 像素而不是屏幕分辨率,这意味着 Retina mac 将获得屏幕大小一半的图像,从而导致像素化。 有什么方法可以获得实际的屏幕分辨率,或者 javascript 中的像素点比?

这将为您提供实际的屏幕高度,而不管通过包含视口标签而改变的像素密度...

screen.height * window.devicePixelRatio

带有视网膜的 Mac 以 2 倍比例呈现页面,因此screen.height返回实际高度除以 2。请在此处查看答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM