Chrome扩展程序滚动条放置

时间:2011-04-05 16:14:27

标签: javascript html css google-chrome google-chrome-extension

在涉及Chrome扩展程序后,我注意到当页面操作中的数据达到某个点时,滚动条会自动附加到弹出窗口,我希望如此。但是,不是将内容推到滚动条的左侧,而是覆盖内容,导致水平滚动条变为活动状态。我最后只是添加了对我的数据的检查,并应用了一个css类来将内容推向左侧,更多地与滚动条并行运行,而不是在它下面。除了我的hackish解决方案之外,处理这个问题的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

我自己也在想这个。目前我只是不要将任何重要的东西放在弹出窗口右侧20px以外,并禁用水平滚动条:

body {overflow-x:hidden;overflow-y:auto;}

因此,当出现垂直滚动条时,内容至少不会跳转。

答案 1 :(得分:1)

我还没有找到一种不是黑客的方法,但这是我能想到的最简单的黑客攻击:

<script type="text/javascript">
function tweakWidthForScrollbar() {
  var db = document.body;
  var scrollBarWidth = db.scrollHeight > db.clientHeight ?
      db.clientWidth - db.offsetWidth : 0;
  db.style.paddingRight = scrollBarWidth + "px";
}
</script>
...
<body onresize="tweakWidthForScrollbar()">

想法是检测垂直滚动条是否正在使用,如果是,则计算其宽度并为其分配足够的额外填充。

答案 2 :(得分:0)

也许您需要在滚动条上指定宽度。

::-webkit-scrollbar {
    width: 42px; //Do not know actual width, but I assume you do
}