html - 考虑滚动条调整 <div> 宽度

标签 html css scrollbar

我有两个 div 元素;其中一个侧面有滚动条:

+-------------+ ?
|  div A      | ?
+-------------+ ?
|             |^|
|             | |
|             | |
|   div B     |=|
|             | |
+-------------|v|

我希望 div Adiv B 一样宽减去滚动条的宽度。滚动条始终存在(通过显式 overflow: scroll)。 OTOH div A 高度固定,不需要滚动。我希望 div Adiv B 的客户区对齐。

我可能会使用 JS 制作一个人工滚动条控件。不过,如果可能的话,我更喜欢基于 CSS 的原生外观解决方案。

如果我以某种方式知道滚动条的平台相关宽度是多少,我可以在图片上的 ? 位置放置一个单独的填充。

有没有办法实现这一点,至少在现代浏览器中是这样?

最佳答案

另一种可能只使用css,而且很靠谱。

在顶部的 div 上,创建一个内部 div 来保存内容,以及一个隐藏的伪 :after 元素来生成滚动条的宽度。我使用了 display: table 对齐来保持内联,但其他技术也可以:

工作起来很有魅力:http://jsfiddle.net/4gu5mkzy/1/

#top {
    width: 100%;
    height: 100px;
    display: table;
}

#top:after {
    display: table-cell;
    content: "";
    overflow-y: scroll;
    visibility: hidden;
}

.inner {
    display: table-cell;
    background: yellow;
}

<div id="top">
    <div class="inner"><!-- content --></div>
</div>

关于html - 考虑滚动条调整 <div> 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816450/

相关文章:

html - 在运行的声音线程上播放声音,还是继续播放?

html - 如何在 Bootstrap 中更改导航栏的边框半径?

javascript - 图像未使用 onpage_scroll 在 javascript 中加载

css - 无法让区域高度随内容自动增加

jquery - mCustomScrollbar - 滚动条只出现在 F12 按下时(开发工具/Firebug)而不是隐藏元素/div

html - 如何使用隐藏在容器上的 overflow-x 并防止固定子 div 重叠滚动条?

jquery - 滚动条看起来就像在 Azure 管理门户中一样

html - CSS 3 列布局,高度灵活的侧边栏,SEO 代码顺序 : CONTENT-LEFT-RIGHT

javascript - 有没有办法只替换页面上所有元素的innerText?

javascript - 无法从 MapQuest API 返回的 JSON 中检索值