移动设备上网页显示过大

66

我正在我的网页上使用这段代码

<meta name="viewport" content="width=1000, initial-scale=1.0, maximum-scale=1.0">

我认为初始缩放比例应该确保网页被缩小了,但实际上并没有。有什么想法吗?

我尝试过这个:

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

但是,我需要将宽度设置为1000像素,否则它看起来不正确。

<meta name="viewport" content="width=1000; user-scalable=0;" />

1
这个解决方案也将解决智能手机上的对齐问题!我只是想发布我的发现。https://dev59.com/vmPVa4cB1Zd3GeqP41YI - user9008566
13个回答

65

initial-scale=1.0 表示让浏览器将缩放级别设置为正常(即未缩放或放大)。您只需要使用width=1000

<meta name="viewport" content="width=1000">

2
这非常有帮助。但是你也可以尝试这个 "<meta name="viewport" content="width=device-width">" - Hasansab Takked

26

试试这个:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

或者

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

1
感谢您提供可缩放用户界面的想法。 - EGHDK

9

在我的情况下,我只需要添加以下代码就可以成功停止屏幕缩放,无需任何额外的代码。

    <meta name="viewport" content="width=device-width">

1
这对我有用。我有一个简单的页面,所有容器宽度都为100%。其中一个具有恒定的800px x 600px游戏画布。我使用了此视口设置:<meta name="viewport" content="width=device-width, initial-scale=1.0"/> 结果是在移动设备上加载页面时会缩放,但您可以缩小并且它会完美匹配。通过删除 initial-scale=1.0,画布被缩放以适应可用宽度,游戏不会出现问题。 - José Rasmussen

8

我也认为视口是问题所在,但测试后发现视口并不是问题所在。

在我的情况下,问题出在CSS方面:固定宽度或宽度为100%而不是自适应宽度。因此,如果您发现视口不是问题所在,则很可能是CSS导致的问题。

希望这可以帮助您!


5

以上的答案都没对我起作用,但我最终找到了答案。

初始meta标签有一个初始缩放比例为1。

要加载网站而不放大页面,您需要将初始缩放比例从1更改为0。

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

4

答案已经在我们正在使用的网站上。

如果您检查StackOverflow并查找其metaviewport,您将会看到:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">

因此,您正在设置宽度高度,取决于屏幕的宽度和高度(以CSS像素为单位,缩放比例为100%)。 initial-scale属性控制页面首次加载时的缩放级别。 最后,minimum-scale是视口的可选属性,它定义了网站用户能够执行的最小缩放。


2

我尝试过使用

<meta name="viewport" content="width=1000, initial-scale=1.0, maximum-scale=1.0">

看起来我的网站确实在比例为1时呈现为1000像素宽。然而,由于我的手机屏幕没有足够的空间来显示网站,导致网站超出了视口范围,从而产生了网站被放大的感觉。

设置此值会使网站以缩小的形式呈现为1000像素宽:

 <meta name="viewport" content="width=1000">

这是你遇到的问题吗?

顺便说一句,1000像素对于移动网站来说有点宽,但我猜这个网站最初并不是为移动设备设计的?


0

我过去也遇到过类似的问题。这个方法每次都对我有效。 试试这个:

<meta name="viewport" initial-scale=1.0 content="width=device-width" />

欢迎来到SO!请先看一下之前给出的其他答案。你的方法已经在那里提到了。为了保持网站的清晰和方便查找答案,我们尽量避免重复回答。 - ahuemmer
@ahuemmer 这个解决方案在这里还没有提到吗?它很独特。 - Chuck Le Butt
@ahuemmer 这个解决方案在这里还没有提到吗?它是独一无二的。 - Chuck Le Butt
提醒一下:meta元素具有namecontent属性,而initial-scale=1应该作为content属性的一部分,作为逗号分隔的值之一,而不是作为自己的属性。 - undefined

0

我的问题是因为我在CSS中添加了body的min-width属性。当我将其删除时,它就可以正常工作了。

body
{
   padding: 0;
   margin:0;
   min-width: 800px;
   color: black;
}

0
如果您正在使用带有Bootstrap链接的stylesheet.css,请确保它是最新的版本,因为它经常会更新,当它更新时,可能会在旧版本上引起错误。

你好!这个问题已经有一个被接受的答案了。在查看已回答的问题之前,请考虑先查看未回答的问题。如果您确实有要补充的已回答的问题,请先仔细阅读其他答案。 - PajLe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接