我在寻找这方面的文档时遇到了困难。这是Safari特定的吗?
iOS 9 最近出现了一个 bug (这里),解决方法是在 viewport meta 中添加 shrink-to-fit=no
。
这段代码是做什么的?
这是特定于Safari的内容,至少在写作时是这样,引入了Safari 9.0。从"Safari有什么新功能?"Safari 9.0文档中可以看到:
视口更改
使用
"width=device-width"
的视口meta标签会导致页面缩小以适应溢出视口边界的内容。通过像下面示例中添加"shrink-to-fit=no"
来覆盖此行为。添加的值将防止页面缩放以适应视口。
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
简而言之,将此添加到视口meta标记可恢复Safari 9.0之前的行为。
这里有一个视觉示例,展示了在两种配置下加载页面时的差异。
红色部分是视口的宽度,蓝色部分位于初始视口外(例如left: 100vw
)。 请注意,在第一个示例中,当省略shrink-to-fit=no
时,页面被缩放以适应(因此显示超出视口范围的内容),而在后一个示例中,蓝色内容仍然保持在屏幕外。
此示例的代码可在https://codepen.io/davidjb/pen/ENGqpv上找到。
这是一个标签,可以帮助您的页面不缩小以适应浏览器的默认设置,如果将其设置为"no",则浏览器将按照您的设置覆盖默认流程,即不缩小以适应。
我希望这可以解释清楚,如果不能,请在标签或用您喜欢的编辑器中使用Emmet复制代码,然后刷新和加载浏览器并更改分辨率,您就会明白。