首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为iPhone设置正确处理旋转的视口元?

如何为iPhone设置正确处理旋转的视口元?
EN

Stack Overflow用户
提问于 2009-08-04 21:27:35
回答 7查看 179.2K关注 0票数 76

所以我一直在使用:

代码语言:javascript
复制
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"/>

让我的内容在iPhone上很好地显示。它工作得很好,直到用户将设备旋转到横向模式,在这种模式下,显示器仍被限制为320px。

有没有一种简单的方法来指定随着用户更改设备方向而更改的视口?或者我必须求助于Javascript来处理它?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-06-03 12:03:19

我自己也在试着解决这个问题,我想出的解决方案是:

代码语言:javascript
复制
<meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />

这似乎将设备锁定在1.0刻度,而不管它的方向。然而,作为一个副作用,它确实完全禁用了用户缩放(收缩缩放等)。

票数 108
EN

Stack Overflow用户

发布于 2011-11-14 17:29:14

如果可以的话,你不会想失去用户缩放选项的。我喜欢这个来自here的JS解决方案。

代码语言:javascript
复制
<script type="text/javascript">
(function(doc) {

    var addEvent = 'addEventListener',
        type = 'gesturestart',
        qsa = 'querySelectorAll',
        scales = [1, 1],
        meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];

    function fix() {
        meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1];
        doc.removeEventListener(type, fix, true);
    }

    if ((meta = meta[meta.length - 1]) && addEvent in doc) {
        fix();
        scales = [.25, 1.6];
        doc[addEvent](type, fix, true);
    }

}(document));
</script>
票数 10
EN

Stack Overflow用户

发布于 2009-08-07 00:24:15

您将其设置为不能缩放(maximum-scale = initial- scale ),因此当您旋转到横向模式时,它不能缩放。设置maximum- scale =1.6,它将适当缩放以适应横向模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1230019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档