小编典典

滚动条出现时防止居中布局移动其位置

css

我的页面布局看起来像这样:

<style type="text/css">
#content-wrap
{
    margin: 0 auto;
    width: 800px;
}
</style>

<div id="content-wrap">
</div>

您会注意到,当垂直滚动条出现时,content-wrapdiv会稍稍移动其位置。一种情况是浏览器开始逐渐呈现页面而不显示垂直滚动条,然后确定需要滚动条,因为内容比“折叠”高。这会将div向左移动约10像素。

不强制浏览器始终显示滚动条的情况下 解决此问题的最佳方法是什么


阅读 400

收藏
2020-05-16

共1个答案

小编典典

恐怕解决此问题的最佳方法是使用强制滚动条始终可见html{overflow-y:scroll;}。您遇到的问题是,出现滚动条时,“可用区域”会缩小10像素。这会导致左侧计算出的边距缩小到滚动条宽度的一半,从而使居中内容向左移动一些。

可能的解决方案可能是使用JavaScript而不是使用计算边距,margin: 0 auto;并在滚动条出现时以某种方式补偿“丢失”的像素,但恐怕会很混乱,并且在您浏览内容时,内容可能会有所移动计算并应用新的保证金。

2020-05-16