代码之家  ›  专栏  ›  技术社区  ›  Nathan Perigreth

如何用javascript或css粗略确定设备的物理大小?

  •  1
  • Nathan Perigreth  · 技术社区  · 6 年前

    我正在构建一个包含svg图形的网页。我想让它反应灵敏。

    如果页面加载在物理上很小的设备上,即智能手机上,那么图形太小,无法很好地查看,因此如果是智能手机客户端,我必须对其进行更改。

    准确的设备甚至准确的屏幕分辨率并不重要。重要的是,我可以回答“客户端是小型设备吗?”。

    我该怎么做?

    假设这是一个常见的问题,那么应该有一个针对该库或公共库的最佳实践。你能帮帮我吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Gabriel Morais    6 年前

    我建议这样做,把这个标签放在索引的开头。html:

    <meta name="viewport" content="width=device-width, initial-scale=1">
    

    这将允许您处理媒体查询,您可以根据屏幕大小选择不同的css样式属性。一些示例:

    @media all and (min-width:1200px){ ... }
    @media all and (min-width: 960px) and (max-width: 1199px) { ... }
    @media all and (min-width: 768px) and (max-width: 959px) { ... }
    @media all and (min-width: 480px) and (max-width: 767px){ ... }
    @media all and (max-width: 599px) { ... }
    @media all and (max-width: 479px) { ... }
    

    有许多其他方法可以设置媒体查询,其中肯定有一种方法非常适合您的尝试。

    W3 media query example

    Using media queries by Mozilla

    最后,我建议设置 height, max-height width and max-width 样式与 vh vw 单位,例如:

    height: 50vh;
    width: 50vw;
    

    VH和VW表示视口高度和视口宽度。例如,这将使图像的大小正好是设备屏幕大小的一半。