Javascript Can';t在垂直居中放置div时平滑滚动

Javascript Can';t在垂直居中放置div时平滑滚动,javascript,css,smooth-scrolling,Javascript,Css,Smooth Scrolling,我有一个垂直和水平居中的div: #mydiv { width:960px; height:400px; position:fixed; margin-left:-480px; margin-top:-200px; top:50%; left:50%; } 当我使用Smoothscroll.js库时,它将无法工作。如果我删除“position:fixed/position:absolute”,它会删除,但是我的div不再居中。我能实现平滑滚动和居中吗?我自己找到了解

我有一个垂直和水平居中的div:

#mydiv {
  width:960px;
  height:400px;
  position:fixed;
  margin-left:-480px;
  margin-top:-200px;
  top:50%;
  left:50%;
}

当我使用Smoothscroll.js库时,它将无法工作。如果我删除“position:fixed/position:absolute”,它会删除,但是我的div不再居中。我能实现平滑滚动和居中吗?

我自己找到了解决这个问题的方法。我在屏幕顶部做了一个假的(看不见的)div,随着屏幕的大小改变高度。然后我把我的visible(#mydiv)放在它下面,没有任何css定位

#mydivfake {
  width:1000px;
  height: calc(50vh - 310px); /*310px is half of the height of my visible centered div*/
  margin-left:-500px;
  left:50%;
}