html - 将滚动条放在填充区域之外

标签 html css

如何放置垂直滚动条,同时始终在内容区域的所有方向上保持填充?下图更好地描述了我正在寻找的东西。

I only have the obvious "padding: x" to show for my work :(我尝试了嵌套填充,这很有趣 :)

除非真的需要,否则我想避免使用 JavaScript。

Current and Desired look of the page

最佳答案

这个 fiddle 可能是你想要的: Fiddle

此示例包含顶部和底部的渐变,但如果需要,当然可以是纯色。

您可以尝试使用 #content 元素的填充,但请注意,如果您想创建路路通效果,则需要在右侧添加一个元素。

#container{
position:relative;
height:300px;
width:300px;
}
#content{
height:200px; 
width: 200px;
padding: 50px;
overflow-y: auto;
background-color: #cef;
}
.bar {
position:absolute;
width: 280px;
height: 50px;
background-color:#bcd;
}
.vbar {
position:absolute;
width: 50px;
height: 280px;
background-color:#bcd;
}
#topbar{
top:0;        
}
#bottombar{
bottom:0;
}
#leftbar{
top:0;        
}
#rightbar{
right:20px;        
top:0;
}
<div id="container">
    <div id="topbar" class="bar"> </div>
    <div id="content" class="pad">
        1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 10<br> 11<br> 12<br> 13<br> 14<br> 15<br> 16<br> 17<br> 18<br> 19<br> 20<br> 21<br> 22<br> 23<br> 24<br> 25<br> 26<br> 27<br> 28<br> 29<br> 30<br> 31<br> 32<br> 33<br> 34<br> 35<br> 36<br> 37<br> 38<br> 39<br> 40<br> 41<br> 42<br>
    </div>
    <div id="bottombar" class="bar"></div>
</div>

编辑: 更改了 fiddle 链接,带有渐变的旧链接如下:Fiddle

关于html - 将滚动条放在填充区域之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10149503/

相关文章:

jquery - 如何给幻灯片添加字幕

使用媒体查询时 Android 键盘无法打开

css - 指示不应在保存时编译 LESS 文件

javascript - 在现有脚本中包括使用正则表达式映射方法的 .replace 函数

HTML5 标记来引用随附文本中的列表项选项

html - 如何设置 child 相对于其灵活成长的 parent 的高度?

css - 第三个元素在 IE 下一行

html - CSS * 选择器但排除特定标签

html - 创建一个适合页面的 div 和一个均匀填充在里面的 child

javascript - 使用 React JS 检测固定高度 div 的滚动结束