【发布时间】:2016-05-30 06:09:36
【问题描述】:
默认情况下,在我的应用中,我有两种分辨率(宽度):
1024px+ & 520px
我有这样的视口:
<meta name="viewport" content="width=520, initial-scale=0.5" id="vwPrt">
<script>
window.onload = function () {
if(screen.width > 521) {
var vpEl = document.getElementById('vwPrt');
vpEl.setAttribute('content','width=520, initial-scale=1');
}
if(screen.width > 970) {
var vpEl = document.getElementById('vwPrt');
vpEl.setAttribute('content','width=1024, initial-scale=1');
}
}
</script>
和css:
...
@media all and (min-width:0px) and (max-width:520px){...}
...
有时在 iOS 设备上,我首先会看到用于大分辨率 (1024px+) 的 css 样式,只有在缩放或重新加载页面后,我才能在 iPad 和 iPhone 上看到 520px(纵向模式)。
我做错了什么?
如何在桌面模式下即时检测宽度并直接应用而不闪烁屏幕?
【问题讨论】:
-
是否有充分的理由指定宽度而不使用
width=device-width,以便设备可以调整布局视口? -
@denmch 我的最小宽度为 640px - 如果设备宽度为 540px - 它会滚动 - 这是个坏主意
-
@brabertaser1992 获得屏幕尺寸后为什么不直接重定向页面?
标签: javascript jquery html ios css