我有一个垂直滚动的div元素;滚动条位于div元素本身内。我希望滚动条位于div之外,类似于典型的网页滚动条。滚动条看起来像任何其他网页,但滚动时只滚动此特定div元素。
<div id="outer">
<div id="inner"> //to be scrolled
<!-- content -->
</div>
</div>
示例小提琴:http://jsfiddle.net/7pgyt/
我希望滚动条位于红色区域的最右侧。滚动条滚动蓝色区域。这可以用HTML和CSS完成吗?
可能的结果如下:
答案 0 :(得分:6)
给出以下html结构:
<div id="wrapper">
<div id="top" class="bar"></div>
<div id="outer">
<div id="inner"></div>
</div>
<div id="bottom" class="bar"></div>
</div>
您可以使用以下样式:
#wrapper {
position:relative;
height:200px;
}
#outer {
background-color: red;
overflow-y:auto;
height: 200px;
}
#inner {
color: white;
font-weight: bold;
margin-left: auto;
margin-right: auto;
background-color: blue;
margin:50px;
position:relative; z-index:1;
}
.bar {
height:50px;
z-index:2;
position:absolute;
background:red;
left:0;
right:20px;
}
#bottom {bottom:0;}
#top {top:0; }
答案 1 :(得分:1)
您可以使用以下内容:
HTML
<body>
<div id="outer"></div>
<div id="inner">..content...</div>
</body>
CSS
body {
position:relative;
width:100%;
margin:0;
padding:0;
}
div {
box-sizing:border-box;
}
#outer {
border:50px solid red;
padding: 50px;
position:absolute;
height:200px;
right:17px;
left:0;
}
#inner {
color: white;
font-weight: bold;
height: 200px;
padding:50px;
margin-left: auto;
margin-right: auto;
overflow-y: scroll;
background-color: blue;
}