gpt4 book ai didi

viewport - 更改平板电脑视口(viewport)以准确显示固定尺寸元素

转载 作者:行者123 更新时间:2023-12-02 06:38:08 26 4
gpt4 key购买 nike

我有一个 HTML 元素,宽 1000 像素,高 850 像素(它实际上是一个 iFrame,在 canvas 标签上包含一个 HTML5 游戏,但我希望这不会有影响)。

我希望元素在平板电脑上呈现,以便视口(viewport)缩放以始终显示整个元素,仅此而已。因此,当平板电脑处于横向模式时,您会期望两边都有空白;在纵向模式下,下方(和上方?)会有空白区域。

在 iPad2 上测试时,纵向模式似乎开箱即用,视口(viewport)自动将元素放在顶部并缩放以准确显示整个图像;但在横向模式下,它会做同样的事情并切断底部。

我尝试了 viewport 的各种组合元标记,例如<meta name="viewport" content="height=850"/> ,但似乎无法让它始终如一地工作。

欢迎使用 jQuery 根据窗口大小的变化调整大小的解决方案。

最佳答案

更好的解决方案是根据设备的屏幕宽度动态修改视口(viewport)元标记。

例如,如果您的网站针对 1000 像素宽进行了优化(那么您希望将初始比例动态设置为使整个网站可见所需的精确缩放值。

  1. 在您的头脑中放置没有“内容”属性的视口(viewport)元数据。

      <head>
    <meta id='viewport' name="viewport"/>
    </head>
  2. 在文档正文中添加一个 javascript 片段

      //our desired page width
    var desiredPageWidth = 1000;

    //detect the device screen width
    var screenWidth = 0;
    if(window.innerWidth > 0)
    {
    screenWidth = window.innerWidth;
    }
    else if(screen.width > 0)
    {
    screenWidth = screen.width;
    }

    //if your screen width is less than the desired page width
    //then calculat the initial zoom
    if(screenWidth < desiredPageWidth)
    {
    //initial zoom is the screenWidth / desiredPageWidth
    var viewportContent = "width="+desiredPageWidth+", maximum-scale=1, initial-scale="+screenWidth/desiredPageWidth;

    //dynamically set the viewport content
    document.getElementById('viewport').setAttribute('content', viewportContent);
    }

关于viewport - 更改平板电脑视口(viewport)以准确显示固定尺寸元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13523029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com