使用width = 80%并且<meta name =“viewport”width =“device-width ...”/>时忽略滚动条宽度

时间:2016-02-16 13:16:57

标签: html css3 meta-tags

当我使用<meta name=viewport width=device-width...>并使用CSS(<div>)将margin: auto; width: 80%元素的宽度设置为80%时,内容会显示在我的页面中心。
如果内容高于视口,则浏览器会显示滚动条(按预期)。然而,滚动条的宽度取自设备宽度,因此由于宽度减小,高页面呈现(略微)不同于小页面。这会导致DIV的边框移入和移出。

有没有办法防止这种情况,即:在计算DIV的80%宽度时告诉浏览器忽略滚动条的宽度?

1 个答案:

答案 0 :(得分:0)

您可以尝试多种选项,但滚动条可能是永无止境的战斗,具体取决于具体情况(至少从我的经验来看)。

首先在chrome中添加css规则

::-webkit-scrollbar { 
      display: none; 
} 

但这只适用于Chrome,并且向用户隐藏滚动条并不是一个好主意,因为它的目的是让每个人都知道下面有更多内容。

其次,您可以根据屏幕大小在右侧添加大约20-40像素的填充,使用媒体规则来检测屏幕大小,填充应在滚动条下方注册,以防止调整大小。

第三,您可以编写javascript来检测滚动条宽度并相应地添加边距或填充,但在这种情况下可能不需要。