在网页上模拟设备屏幕

时间:2015-07-02 22:41:15

标签: html screen zoom screen-resolution emulation

我正在创建一个为移动设备生成和提供网页的网络应用。例如,用户配置要显示的数据并使用速度模板生成最终的HTML / CSS / JS文件。 当配置模板和要包括的信息时,客户端将连接到服务器以显示生成的页面。

但是,我现在正在为此创建预览屏幕。所以,让我们说,我想知道它会是什么样子,让我们说,Nexus 5。

我的目标是在Chrome上创建类似谷歌的东西 - 移动设备模拟。问题是我无法理解他们如何做这种模拟。

确实必须缩小内容才能显示所有内容。这很容易理解,好像屏幕不够大,我们需要使它适合。

所以,我知道设备的屏幕对角线尺寸,它的分辨率和PPI(点数英寸)。我需要知道的是如何为我的网站进行适当的测量以模拟设备。当我转到Chrome仿真工具时,我发现Nexus 5显示为:

  • 分辨率360 x 640
  • 像素宽高比3

我知道他们如何计算像素宽高比:它是设备的PPI除以160(基本PPI)。因此,445/160 = ~3(445是Nexus 5的像素密度)。这就是他们达到360 x 640的方式:他们将分辨率除以像素长宽比(3)。

在我的网站上,我有一个iframe并将生成的页面加载到其中。然后我知道我必须应用缩放级别。这就是问题所在。我真的不知道缩放的值应该是什么。

其中一次尝试是

  

1 /((屏幕对角线)/像素宽高比)   = 1 /(4.95 / 3)   = 0.6060(60)

应用此缩放使其看起来很好。如果我使用亚马逊Kindle HDX采用相同的方法,它也可以。

但是,如果我使用LG L70,我会得到以下信息:

  

1 /(4.5 / 1.25)   = 0.27777777 ......

问题在于,与Nexus 5相比,应用此缩放功能会比较小(因为缩小了很多),而在Chrome仿真模式下,它们看起来非常相似。

如果有任何信息可以帮助解决这个难题,请告诉我。

1 个答案:

答案 0 :(得分:4)

像素长宽比决定宽度和高度之间的比率,衡量" square"像素在设备上。

但是,Google可让您自定义设备像素比率。这可以测量有多少设备像素映射到单个逻辑像素(1px in css)。

我相信设备像素比率可以使各种屏幕尺寸看起来相同。

使用设备像素比计算有效缩放的密度计算可以在一个维度上计算,不需要使用对角线测量。

要从平板电脑计算桌面上的有效css_width

  

desktop_pixels = tablet_pixels *(desktop_ppi / tablet_ppi)(1)

     

tablet_pixels = tablet_css_width * tablet_pixel_density

     

desktop_pixels = desktop_css_width * desktop_pixel_density

进入(1)

  

desktop_css_width * desktop_pixel_density = tablet_css_width * tablet_pixel_density *(desktop_ppi / tablet_ppi)

重新排列

  

desktop_css_width = tablet_css_width *(tablet_pixel_density / desktop_pixel_density)*(desktop_ppi / tablet_ppi)

逻辑缩放系数为desktop_css_width / tablet_css_width

  

zoom_factor =(tablet_pixel_density / desktop_pixel_density)*(desktop_ppi / tablet_ppi)