如何在内容区域中始终保持所有方向的填充的同时放置垂直滚动条?下面的图片更好地描述了我正在寻找的东西。
I only have the obvious "padding: x" to show for my work :(我试过嵌套填充,它很搞笑:)
除非确实需要,否则我希望避免使用JavaScript。

发布于 2012-04-17 22:31:25
这可能是你想要的:
这个例子包含顶部和底部的渐变,当然也可以是纯色,如果你想要的话。
您可以尝试使用#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
发布于 2012-04-17 21:53:15
使用Div的.css:
<style type="text/css">
div#top {
margin: 0px;
padding: 0px;
height: 100px;
width: 100%;
background-color: #97cee0;
position: fixed;
top: 0px;
left: 0px;
z-index: 100;
}
div#left {
margin: 0px;
padding: 0px;
height: 100%;
width: 100px;
background-color: #97cee0;
position: fixed;
top: 0px;
left: 0px;
z-index: 100;
}
div#right {
margin: 0px;
padding: 0px;
height: 100%;
width: 100px;
background-color: #97cee0;
position: fixed;
top: 0px;
right: 0px;
z-index: 100;
}
div#bottom {
margin: 0px;
padding: 0px;
height: 100px;
width: 100%;
background-color: #97cee0;
position: fixed;
bottom: 0px;
right: 0px;
z-index: 100;
}
div#content {
z-index: 0;
padding: 100px;
}
div#wrapper {
overflow: scroll;
}
</style>HTML:
<div id="wrapper">
<div id="top"></div>
<div id="left"></div>
<div id="right"></div>
<div id="bottom"></div>
<div id="content">Long list of stuff.</div>
</div>发布于 2012-04-17 22:59:09
浏览器负责呈现本机滚动条。据我所知,所有浏览器都会将垂直滚动直接呈现在box模型的右侧。
因此,如果你想要一个不直接附加到你的内容上的滚动条,你必须使用某种类型的javascript滚动条。看看how to use the Slider control from JQuery UI as a scroll bar吧。
这样做的本质是处理某种类型的滚动事件,无论是从滑块还是从实际滚动条中的某处,然后使用它的值来更改位于overflow:hidden中的另一个div的margin-top css值。
https://stackoverflow.com/questions/10149503
复制相似问题