Answers:
它是Safari特定的,至少在撰写本文时,已在Safari 9.0中引入。来自“ Safari的新功能?” Safari 9.0的文档:
视口更改
使用视口元标记
"width=device-width"
会导致页面缩小以适合超出视口范围的内容。您可以通过添加"shrink-to-fit=no"
到元标记来覆盖此行为,如下所示。增加的值将阻止页面缩放以适合视口。
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
简而言之,将其添加到视口元标记中可恢复Safari 9.0之前的行为。
这是一个实际的可视示例,显示了在两种配置下加载页面时的区别。
红色部分是视口的宽度,蓝色部分位于初始视口(例如left: 100vw
)的外部。请注意,在第一个示例中,如何shrink-to-fit=no
省略页面(以显示视口外的内容),页面如何缩放以适合页面大小,而在后一个示例中,蓝色内容仍不在屏幕上。
可以在https://codepen.io/davidjb/pen/ENGqpv中找到此示例的代码。
shrink-to-fit=no
可防止此行为,将缩放级别保留下来,将溢出的内容留在屏幕外。在您的iDevice(或iOS模拟器)上尝试Codepen示例,然后尝试更改设置。交互式地查看更改可能会有所帮助。
shrink-to-fit
行为。使用shrink-to-fit=no
,页面保持在预期大小,从而使内容从视口溢出。用户仍然可以(通常)滚动或缩小以查看溢出内容,但初始视口与设备大小匹配。
作为iOS使用情况的统计信息,表明iOS 9.0-9.2.x当前使用率为0.17%。如果这些数字确实表明这些版本已在全球范围内使用,则从视口元标记中删除“缩小以适合”的可能性更大。
9.2.x之后 iOS会在其浏览器中删除此标签检查。
您可以查看此页面https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html