css - 带有垂直滚动条但没有水平滚动条的水平填充

标签 css scrollbar

如何在没有水平滚动条的情况下向具有垂直滚动条(如侧边栏)的内联 block div 添加水平填充?我正在寻找不需要固定宽度的解决方案(只使用侧边栏内容的宽度)。

我尝试将 padding 放在内部 div 中,将滚动条放在外部 div 中,以为这样可以为两者腾出空间,但滚动条仍然踩在正确的 padding 上。

例子:

html, body {
    margin: 0; padding: 0;
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    overflow: hidden;
}
#div1 {
    display: inline-block;
    height: 100%;
    overflow-y: auto;
}
#div2 {
    display: inline-block;
    padding: 0 10px;
    height: 100%;
}
<div id='div1'>
  <div id='div2'>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
  </div>
</div>

JSFiddle: https://jsfiddle.net/msxjL52d/2/

最佳答案

如果有人可以提供不那么骇人听闻的答案,请提供。

以下是有效的,至少在 Firefox 中:为滚动条的宽度向 padding-right 添加大约 16px,并将 overflow-x 设置为 隐藏

html, body {
    margin: 0; padding: 0;
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    overflow: hidden;
}
#div1 {
    display: inline-block;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}
#div2 {
    display: inline-block;
    padding: 0 26px 0 10px;
    height: 100%;
}
<div id='div1'>
  <div id='div2'>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
    text<br>
  </div>
</div>

关于css - 带有垂直滚动条但没有水平滚动条的水平填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35444383/

相关文章:

javascript - 根据内容调整弹出窗口大小 - CSS

html - 2行文本后的省略号

html - Migrate table layout to div 布局问题

macos - Chrome 滚动条现在始终可见

javascript - 你如何补偿浏览器中的滚动条?

jquery - Fuelux 微调器在追加到 div 事件时不显示微调器

html - 导航栏 CSS 与 Bootstrap CSS 文件冲突?

html - 替代 "overflow:scroll;"在 div 中创建永久垂直滚动条?

ios - 将 UIScrollView scrollIndicatorInsets 定位到边缘,没有间距?

Python Tkinter 可滚动框架类?