当前位置:Gxlcms > html代码 > div居中,但如果有竖着的滚动条,div会往左偏,怎么解决?_html/css_WEB-ITnose

div居中,但如果有竖着的滚动条,div会往左偏,怎么解决?_html/css_WEB-ITnose

时间:2021-07-01 10:21:17 帮助过:49人阅读

本帖最后由 zlbpolly 于 2013-08-07 13:54:46 编辑

div居中 滚动条 偏

div居中,如果网页内容比较长,出现竖滚动条时,居中的div会受滚动条影响,往左边偏 ?怎么解决呢?

原本是这样
    Untitled Page    

如果加一个div出现滚动条,居中的导航条就往左偏了
    Untitled Page    
ddd


回复讨论(解决方案)

这个是浏览器的特性,你可以通过js来获取宽度
比如

//这个就是body的宽度,那么有滚动条和没有滚动条肯定是不一样的document.body.clientWidth //当然还有其他的属性就不列举了

唉,这样真不是爽,切换页面时,感觉导航左右晃。。。不太懂css,以为有解决办法呢

唉,这样真不是爽,切换页面时,感觉导航左右晃。。。不太懂css,以为有解决办法呢
这样的话可以使用绝对定位来布局,这样就不会晃了~

CSS中设置始终出现滚动条即可。

CSS中设置始终出现滚动条即可。

楼上正解。让右侧一直有滚动条,高度不够的时候就没有bar,相比起因为滚动条的出现与否导致的左右晃动来说,可能更能接受一些吧。

body{overflow-y:scroll;}

另外一种相反的思路是,一直不出现滚动条。然后自己去判断下面的div是不是需要滚动条,如果div的高度>浏览器(页面可见)高度 - 导航栏的高度,就设置overflow:auto。

这样的问题在于,在打开页面和手动改变浏览器大小的时候,都需要去判断。这个倒是可以通过body的onResize方法来捕捉

  
但是还是太麻烦了,有点画蛇添足的感觉,还是让滚动条一直出现吧。。。

设置div的样式为:style="margin:auto; 就可以了

人气教程排行