在移动网络上禁用缩放缩放

Har*_*M V 70 html css viewport mobile-website

我想禁用移动设备上的捏合和缩放.

我应该在视口中添加什么配置?

链接:http://play.mink7.com/n/dawn/

Spa*_*ers 149

编辑:因为这一直在评论,我们都知道我们不应该这样做.问题是我该怎么做,我不应该这样做.

将其添加到您的移动设备中.然后以百分比表示您的宽度,你会没事的:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)

为无法使用视口的设备添加此项:

<meta name="HandheldFriendly" content="true" />
Run Code Online (Sandbox Code Playgroud)

  • 我补充说.但我仍然可以捏和缩放. (21认同)
  • 2019年:PWA是现在的事情,这是一个防止PWA在移动设备上有奇怪行为的解决方案:) (6认同)
  • @Shurane他们有不同的问题吗? (3认同)

tri*_*ias 15

这将阻止用户在 ios safari 中进行任何缩放操作,并阻止“缩放到选项卡”功能:

document.addEventListener('gesturestart', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gesturechange', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});

document.addEventListener('gestureend', function(e) {
    e.preventDefault();
    // special hack to prevent zoom-to-tabs gesture in safari
    document.body.style.zoom = 0.99;
});
Run Code Online (Sandbox Code Playgroud)

jsfiddle:https ://jsfiddle.net/vo0aqj4y/11/

  • 这适用于 macOS safari,并且 document.body.style.zoom = 0.99;甚至没有必要。 (2认同)

小智 13

我想你可能想要的是 CSS 属性touch-action。你只需要一个像这样的 CSS 规则:

html, body {touch-action: none;}
Run Code Online (Sandbox Code Playgroud)

您会看到它有很好的支持(https://caniuse.com/#feat=mdn-css_properties_touch-action_none),包括 Safari,以及 IE10。

  • 这也将禁用滚动 (6认同)
  • 为了能够滚动页面,请使用以下命令。html, body {触摸动作: pan-x, pan-y;} (3认同)

que*_*ful 12

这就是我所需要的:

<meta name="viewport" content="user-scalable=no"/>
Run Code Online (Sandbox Code Playgroud)

  • 该解决方案不再起作用 (2认同)

Thi*_*Rey 10

对于那些说这是个坏主意的人我想说它并不总是坏事.有时必须缩小以查看所有内容是非常无聊的.例如,当您在iOS上输入输入时,它会缩放以使其位于屏幕中央.你必须在那之后缩小,因为关闭键盘不起作用.另外我同意,当你花费很多时间来制作出色的布局和用户体验时,你不希望它被变焦搞砸了.

但另一个论点对于有视力问题的人也很有价值.但是在我看来,如果你的眼睛有问题,你已经在使用系统的缩放功能,因此不需要打扰内容.

  • 你应该把它作为评论. (3认同)
  • 我是一个视力有问题的老人,但我完全明白为什么有时需要它。“网站”并不总是供普通大众或社会的每一位成员使用,就像强迫每个公民在他们的房子里安装轮椅坡道和男女通用的马桶座一样是疯狂的,因为“那是你知道的法律”。如果您提供公共访问或雇用人员,那么这些考虑因素会在建筑中发挥作用。例如,允许人们放大和缩小会破坏单页网络应用程序游戏。 (3认同)
  • 对不起,我当时的级别不允许我发表评论但只发布新消息,这就是原因. (2认同)
  • 在表单元素上将 font-size 设置为 16px 将阻止在 iOS 设备上进行缩放。 (2认同)

s-f*_*s-f 7

不幸的是,提供的解决方案在Safari 10+中不起作用,因为Apple决定忽略它user-scalable=no.这个帖子有更多的细节和一些JS黑客:禁用视口缩放iOS 10+ safari?


小智 7

在这里找到您可以使用user-scalable=no

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
Run Code Online (Sandbox Code Playgroud)