Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 垂直居中页面“;“跳跃”;在镀铬重新加载时,FF和IE工作正常_Javascript_Jquery_Html_Css_Google Chrome - Fatal编程技术网

Javascript 垂直居中页面“;“跳跃”;在镀铬重新加载时,FF和IE工作正常

Javascript 垂直居中页面“;“跳跃”;在镀铬重新加载时,FF和IE工作正常,javascript,jquery,html,css,google-chrome,Javascript,Jquery,Html,Css,Google Chrome,我使用以下jQuery代码在浏览器窗口内垂直居中放置一个网站,如果它高于外层包装div(具有固定的宽度和高度) 这在Firefox和InternetExplorer11中运行良好;在这里,网站始终固定在中心位置 但在Chrome中,每次重新加载页面时(例如通过菜单导航),包装器都会跳到顶部,然后返回到中心。或者更确切地说,它是在应用js更改之前呈现的……就像代码在Chrome中运行得太晚一样 我对JS很陌生,所以我很难理解我发现的Chrome加载太晚了,但这似乎是一个常见的问题 这是一个Chro

我使用以下jQuery代码在浏览器窗口内垂直居中放置一个网站,如果它高于外层包装div(具有固定的宽度和高度)

这在Firefox和InternetExplorer11中运行良好;在这里,网站始终固定在中心位置

但在Chrome中,每次重新加载页面时(例如通过菜单导航),包装器都会跳到顶部,然后返回到中心。或者更确切地说,它是在应用js更改之前呈现的……就像代码在Chrome中运行得太晚一样

我对JS很陌生,所以我很难理解我发现的Chrome加载太晚了,但这似乎是一个常见的问题


这是一个Chrome问题,是因为它处理JS文件的方式,还是在这种情况下,Chrome中是否有任何解决办法使javascript加载更快或更早

我只能假设您想要实现的目标是使您的网页始终处于中心对齐状态。这可以单独使用CSS完成,而不需要任何JS。只需在包装元素上设置一个固定的宽度,并将
边距设置为
auto
0auto
。这将为您居中显示页面

编辑

关于垂直定位,我将创建一个固定高度的视口,并使用
position:absolute
margin:auto
对其进行定位。我制作了一把小提琴来演示如何做到这一点。当然,这需要一个带有
position:relative
的父元素集,并且相信该元素也需要一个固定的高度,但这比使用JavaScript解决方案要好

编辑2

另外两个小提琴演示如何使用
html
body
元素来实现所需的结果。通过将这两个元素设置为
高度:100%
宽度:100%
,然后在
主体上使用
位置:相对
,您可以使用
底部:0;身高:90%;左:0;保证金:自动;位置:绝对位置;右:0;排名:0viewport/wrapper
元素上执行code>以使其真正居中


我只能假设您试图实现的目标是使您的网页始终处于中心对齐状态。这可以单独使用CSS完成,而不需要任何JS。只需在包装元素上设置一个固定的宽度,并将
边距设置为
auto
0auto
。这将为您居中显示页面

编辑

关于垂直定位,我将创建一个固定高度的视口,并使用
position:absolute
margin:auto
对其进行定位。我制作了一把小提琴来演示如何做到这一点。当然,这需要一个带有
position:relative
的父元素集,并且相信该元素也需要一个固定的高度,但这比使用JavaScript解决方案要好

编辑2

另外两个小提琴演示如何使用
html
body
元素来实现所需的结果。通过将这两个元素设置为
高度:100%
宽度:100%
,然后在
主体上使用
位置:相对
,您可以使用
底部:0;身高:90%;左:0;保证金:自动;位置:绝对位置;右:0;排名:0viewport/wrapper
元素上执行code>以使其真正居中


我只能假设您试图实现的目标是使您的网页始终处于中心对齐状态。这可以单独使用CSS完成,而不需要任何JS。只需在包装元素上设置一个固定的宽度,并将
边距设置为
auto
0auto
。这将为您居中显示页面

编辑

关于垂直定位,我将创建一个固定高度的视口,并使用
position:absolute
margin:auto
对其进行定位。我制作了一把小提琴来演示如何做到这一点。当然,这需要一个带有
position:relative
的父元素集,并且相信该元素也需要一个固定的高度,但这比使用JavaScript解决方案要好

编辑2

另外两个小提琴演示如何使用
html
body
元素来实现所需的结果。通过将这两个元素设置为
高度:100%
宽度:100%
,然后在
主体上使用
位置:相对
,您可以使用
底部:0;身高:90%;左:0;保证金:自动;位置:绝对位置;右:0;排名:0viewport/wrapper
元素上执行code>以使其真正居中


我只能假设您试图实现的目标是使您的网页始终处于中心对齐状态。这可以单独使用CSS完成,而不需要任何JS。只需在包装元素上设置一个固定的宽度,并将
边距设置为
auto
0auto
。这将为您居中显示页面

编辑

关于垂直定位,我将创建一个固定高度的视口,并使用
position:absolute
margin:auto
对其进行定位。我制作了一把小提琴来演示如何做到这一点。当然,这需要一个带有
position:relative
的父元素集,并且相信该元素也需要一个固定的高度,但这比使用JavaScript解决方案要好

编辑2

另外两个小提琴演示如何使用
html
body
元素来实现所需的re
$( document ).ready(function() {

     centerPage();
)};

// center page vertically if viewport higher than wrapper
function centerPage(){  

   var viewportHeight = $(window).height();
   var siteHeight = $('#wrapper').height();

   if(viewportHeight > siteHeight){

         $('#wrapper').css({
        'position' : 'absolute',
        'left' : '50%',
        'top' : '50%',
        'margin-left' : -$('#wrapper').outerWidth()/2,
        'margin-top' : -$('#wrapper').outerHeight()/2
      });
   }


}
// center page vertically if viewport higher than wrapper
function centerPage(){  

   var viewportHeight = $(window).height();
   var siteHeight = $('#wrapper').height();

   if(viewportHeight > siteHeight){
         $('#wrapper').css({
        'position' : 'absolute',
        'left' : '50%',
        'top' : '50%',
        'margin-left' : -$('#wrapper').outerWidth()/2,
        'margin-top' : -$('#wrapper').outerHeight()/2,
        'display' : 'block'
      });
   }
}
$(function(){
    centerPage();
});
<div id="wrapper" style="display:none;">center</div>