5

我需要将内容的最小宽度设置为 480px,以便任何在屏幕上查看 <= 的人都必须滚动浏览内容。这样做的原因是不可能使布局低于此分辨率。

这就是我所拥有的

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

我需要这样的东西,但显然这不起作用

<meta name="viewport" content="width=device-width,, min-width=480px,  initial-scale=1, maximum-scale=1, minimum-scale=1">
4

5 回答 5

3

这是一个仅适用于平板电脑和台式机的响应式 Web 版本的解决方案。

此代码我们动态禁用移动版本。在移动:

<!-- Meta Responsive -->
<meta id="myViewport" name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<script>
window.onload = function () {
    if(screen.width <= 767) {
        var mvp = document.getElementById('myViewport');
        mvp.setAttribute('content','width=767');
    }
}
</script>
<!-- End of Meta Responsive -->
于 2014-03-31T17:35:20.890 回答
2

听起来您正在尝试设置页面上内容的最小宽度,而不是视口本身。这篇文章可能会帮助你。

您可能希望这样做:

@media all and (max-width: 480px) {
    // styles assigned when width is smaller than 480px;

}

像这样,在该块中,您可以在宽度为 480 像素及以下的屏幕上发送内容样式。

希望这就是你要找的。

于 2012-11-02T18:44:35.837 回答
0

我尝试了很多代码并在重新加载视口方面取得了一些不错的效果......但是,我认为最好的方法是创建一个完全响应的网站(高达 320px ;)

那是最好的方法:

<script>
//VIEWPORT

function mobileFriendly() {
    setTimeout(function () {
        if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
            var ww = ( document.documentElement.clientWidth < window.screen.width ) ? jQuery(window).width() : window.screen.width; //get proper width
            var mw = 725; 
            //alert ("width" + ww);
            var ratio = ww / mw; //calculate ratio
            //alert ("ratio: " + ratio);
                if( ratio < 1 ){ //smaller than minimum size
                    jQuery("meta[name='viewport']").attr('content', 'initial-scale=' + ratio + ', maximum-scale=' + ratio + ', minimum-scale=' + ratio + ', user-scalable=yes, width=' + mw);
                }else{ //regular size
                    jQuery("meta[name='viewport']").attr('content', 'initial-scale=1.0, maximum-scale=2, minimum-scale=1.0, user-scalable=yes, width=' + ww);
                }
            }
        }, 600);
    }
    jQuery( document ).ready( function(){
    mobileFriendly()
    });
    window.addEventListener("orientationchange", mobileFriendly, false);

</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<meta content="user-scalable=yes, maximum-scale=1.6, width=device-width, initial-scale=1, target-densitydpi=device-dpi" name="viewport">

于 2016-03-21T23:23:25.830 回答
-2

您的第二个解决方案实际上确实有效 - 您可能没有看到 2 之后有 2 个逗号width=device-width,这可能就是您没有让它工作的原因。我已经复制了它,没有任何问题。

有时新鲜的眼睛可以做到这一切。

编辑:但是,是的,就您而言,媒体查询正是您所需要的。

于 2013-04-24T18:14:16.277 回答
-4
<script>
        //viewport just for screens under/with 480px width other screen widths show the whole page resized
        if(screen.width <= 480) {
            document.getElementById("viewport").setAttribute("content", "width=device-width, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;");} 
        //for devices with more and less/equal than 480px width 
        window.onresize = changeViewport;
            function changeViewport(){
                if(screen.width <= 480) {
                    document.getElementById("viewport").setAttribute("content", "width=device-width, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;");} 
                if(screen.width > 480) {
                    document.getElementById("viewport").setAttribute("content", "");}           
                }
    </script>
于 2013-06-19T09:18:48.367 回答