【问题标题】:Why is my website width is less than my screen resolution为什么我的网站宽度小于我的屏幕分辨率
【发布时间】:2020-12-14 09:37:47
【问题描述】:

根据Windows中的Display Setting,我笔记本的屏幕分辨率是1920 x 1080。当我打开浏览器并使用开发者工具检查浏览器的宽度时,它会显示1536 px。为什么它们不同? 硬件像素软件像素(CSS像素)之间的区别in this article:

当 Apple 率先推出 Retina 显示屏时,他们将 像素的概念分为硬件像素和软件像素。一个硬件 像素是显示器中的单个光点。一个软件像素, 在网络世界中也称为 CSS 像素,是一种度量单位。

【问题讨论】:

  • 我也遇到过这种情况,问题是我在放大。你能检查一下你的缩放是100%吗?
  • @madjaoue,感谢您的建议,但是不,缩放是 100%
  • 在这种情况下,请检查window.devicePixelRatio 是否等于1。这应该会给出 Retina 显示器使用的比率。例如,在我的三星手机中,它是 4。然后window.screen 应该会为您提供浏览器所看到的屏幕的实际尺寸。
  • @madjaoue,非常感谢! window.screen.availWidth1536window.devicePixelRatio1.25,所以要计算实际宽度,我乘以 1536 x 1.25 并得到与 display settings 报告匹配的 1920。所以确实是硬件像素和软件像素的区别。你能把它作为答案吗?
  • 如果您的缩放比例是 100%,那么是的,这是由于硬件像素和软件像素造成的。很高兴它解决了你的问题。那我就把它作为答案。

标签: css


【解决方案1】:

首先检查您的缩放是否为 100%。

设备像素比

设备像素比是物理像素与 逻辑像素。例如,iPhone 4 和 iPhone 4S 报告了一个 设备像素比为 2,因为物理线性分辨率为 双倍的逻辑线性分辨率。 what exactly is device pixel ratio?

您可以使用:window.devicePixelRatio 获得此比率。

如果此比率大于 1,则您的可用屏幕尺寸将小于逻辑尺寸。 这意味着您可以拥有1920 x 1080 的逻辑分辨率,而您的硬件分辨率为1536 x 864

示例

首先让我们使用window.screen检查可用的屏幕尺寸

现在,假设:

  1. window.devicePixelRatio == 1.25
  2. window.screen.availWidth == 1536

逻辑宽度是:

window.devicePixelRatio * window.screen.availWidth == 1920

【讨论】:

猜你喜欢
  • 2019-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 2013-08-07
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
相关资源
最近更新 更多