html滚动字幕居中,解决div用margin:auto水平居中遇到滚动条跳动的问题

  • Post author:
  • Post category:其他


目前div水平居中用的方法基本上都是margin:auto,这种方法在大多数时候没什么问题,但是如果遇到界面在滚动条中切换的时候,div就会左右跳动。

如何才能解决这个问题呢?

我们想到了一个vw的长度单位,vw相对于视口(viewport)的宽度。视口被均分为100单位的vw。

而100%的宽度是相对于浏览器窗口(window)的宽度,利用二者这个不同,来解决如上问题。

a7665755175bafae5c5d324750aa0df2.png

代码如下:

html,body{

padding: 0;

margin: 0;

}

.container{

margin-left:calc(100vw – 100%);

}

.content{

margin: auto;

width: 95vw;

max-width: 1208px;

height: 400px;

background: #eee;

border: 1px solid #ddd;

}

.footer{

z-index: 100;

position: fixed;

margin: auto;

left: 0;

right: calc(100% – 100vw);

width: 95vw;

background: rgba(255, 255, 255, .8);

max-width: 1208px;

height: 65px;

bottom: 0px;

border: 3px solid #eeeeee;

}