菜鸟教程小白 发表于 2022-12-12 11:42:43

ios - 是否可以仅通过 CSS 为 iOS 设置视口(viewport),而无需元标记


                                            <p><p>我需要在一个页面上使用视口(viewport),我只能更改 CSS。这意味着我无法访问 HTML,因此我无法将著名的 <strong>meta-tag</strong> 放在那里。</p>

<p>我发现唯一可行的选择是</p>

<pre><code>@viewport {
    width: device-width;
    initial-scale: 1;
    zoom: 1;
    min-zoom: 1;
    max-zoom: 2;
    zoom: fixed;
}
</code></pre>

<p>但我没能得到正确的结果。当我旋转设备时,它仍然保存相同的宽度。</p>

<p>有人知道我应该改变什么吗?或者有可能吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在撰写本文时(Dez '13),<a href="http://dev.w3.org/csswg/css-device-adapt/" rel="noreferrer noopener nofollow">CSS Device Adaption</a> (包括 <code>@viewport</code>)还没有准备好使用,并且还远远没有完美的浏览器支持。因此,<strong>仅通过 CSS 为 iOS 设置视口(viewport)<em>目前</em>是不可能的。</strong></p>

<p><strong>浏览器支持:</strong></p>

<ul>
<li>Internet Explorer 10 (<a href="http://msdn.microsoft.com/en-us/library/ie/hh708740%28v=vs.85%29.aspx" rel="noreferrer noopener nofollow">msdn.microsoft.com</a>) – 供应商前缀:<code>@-ms-viewport</code></li>
<li>Opera Mobile 11 (<a href="http://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/" rel="noreferrer noopener nofollow">dev.opera.com</a>) – 供应商前缀:<code>@-o-viewport</code></li>
</ul>

<p><strong>更多信息:</strong></p>

<p></p><ul>
<li>html5hacks.com:<a href="http://html5hacks.com/blog/2012/11/28/elegantly-resize-your-page-with-the-at-viewport-css-declaration/" rel="noreferrer noopener nofollow">Elegantly Resize Your Page With the @-viewport CSS Declaration</a> </li>
<li>树屋博客:<a href="http://blog.teamtreehouse.com/thinking-ahead-css-device-adaptation-with-viewport" rel="noreferrer noopener nofollow">CSS Device Adaptation With @viewport</a> </li>
<li>截至 <a href="http://getbootstrap.com/getting-started/#browsers" rel="noreferrer noopener nofollow">Bootstrap documentation</a> Windows 8 和 Windows Phone 8 中的 IE10 需要一些修复才能正常工作:<br/><p></p>

<blockquote>
<h2>Internet Explorer 10 in Windows 8 and Windows Phone 8</h2>

<p>Internet Explorer 10 doesn&#39;t differentiate <strong>device width</strong> from <strong>viewport width</strong>, and thus doesn&#39;t properly apply the media queries in Bootstrap&#39;s CSS. Normally you&#39;d just add a quick snippet of CSS to fix this:</p>

<pre><code>@-ms-viewport       { width: device-width; }
</code></pre>

<p>However, this doesn&#39;t work as it causes Windows Phone 8 devices to show a mostly desktop view instead of narrow &#34;phone&#34; view. To address this, you&#39;ll need to <strong>include the following CSS and JavaScript to work around the bug until Microsoft issues a fix.</strong></p>

<p><strong>CSS:</strong></p>

<pre><code>@-webkit-viewport   { width: device-width; }
@-moz-viewport      { width: device-width; }
@-ms-viewport       { width: device-width; }
@-o-viewport      { width: device-width; }
@viewport         { width: device-width; }
</code></pre>

<p><strong>JS:</strong></p>

<pre><code>if (navigator.userAgent.match(/IEMobile/10.0/)) {
var msViewportStyle = document.createElement(&#34;style&#34;)
msViewportStyle.appendChild(
    document.createTextNode(
      &#34;@-ms-viewport{width:auto!important}&#34;
    )
)
document.getElementsByTagName(&#34;head&#34;).appendChild(msViewportStyle)
}
</code></pre>

<p>For more information and usage guidelines, read <a href="http://timkadlec.com/2013/01/windows-phone-8-and-device-width/" rel="noreferrer noopener nofollow">Windows Phone 8 and Device-Width</a>.</p></blockquote> </li>
</ul><p></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 是否可以仅通过 CSS 为 iOS 设置视口(viewport),而无需元标记,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17061422/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17061422/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 是否可以仅通过 CSS 为 iOS 设置视口(viewport),而无需元标记