• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 是否可以仅通过 CSS 为 iOS 设置视口(viewport),而无需元标记

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:42:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我需要在一个页面上使用视口(viewport),我只能更改 CSS。这意味着我无法访问 HTML,因此我无法将著名的 meta-tag 放在那里。

我发现唯一可行的选择是

@viewport {
    width: device-width;
    initial-scale: 1;
    zoom: 1;
    min-zoom: 1;
    max-zoom: 2;
    zoom: fixed;
}

但我没能得到正确的结果。当我旋转设备时,它仍然保存相同的宽度。

有人知道我应该改变什么吗?或者有可能吗?



Best Answer-推荐答案


在撰写本文时(Dez '13),CSS Device Adaption (包括 @viewport)还没有准备好使用,并且还远远没有完美的浏览器支持。因此,仅通过 CSS 为 iOS 设置视口(viewport)目前是不可能的。

浏览器支持:

更多信息:

  • html5hacks.com:Elegantly Resize Your Page With the @-viewport CSS Declaration
  • 树屋博客:CSS Device Adaptation With @viewport
  • 截至 Bootstrap documentation Windows 8 和 Windows Phone 8 中的 IE10 需要一些修复才能正常工作:

    Internet Explorer 10 in Windows 8 and Windows Phone 8

    Internet Explorer 10 doesn't differentiate device width from viewport width, and thus doesn't properly apply the media queries in Bootstrap's CSS. Normally you'd just add a quick snippet of CSS to fix this:

    @-ms-viewport       { width: device-width; }
    

    However, this doesn't work as it causes Windows Phone 8 devices to show a mostly desktop view instead of narrow "phone" view. To address this, you'll need to include the following CSS and JavaScript to work around the bug until Microsoft issues a fix.

    CSS:

    @-webkit-viewport   { width: device-width; }
    @-moz-viewport      { width: device-width; }
    @-ms-viewport       { width: device-width; }
    @-o-viewport        { width: device-width; }
    @viewport           { width: device-width; }
    

    JS:

    if (navigator.userAgent.match(/IEMobile/10.0/)) {
      var msViewportStyle = document.createElement("style")
      msViewportStyle.appendChild(
        document.createTextNode(
          "@-ms-viewport{width:auto!important}"
        )
      )
      document.getElementsByTagName("head")[0].appendChild(msViewportStyle)
    }
    

    For more information and usage guidelines, read Windows Phone 8 and Device-Width.

关于ios - 是否可以仅通过 CSS 为 iOS 设置视口(viewport),而无需元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061422/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap