我有3列看起来像这样:
<div style="width:900px;margin:0 auto" id="container">
<div style="width:100px; float:left">
left
</div>
<div style="width:600px; float:left">
main
</div>
<div style="width:200px; float:left" id="nav-col">
<div id="navigation-list">
</div>
</div>
</div>
不确定这是否可行,但我希望每当窗口滚动时#navigation-list
都会停留在屏幕上。它应该从document.body的顶部以及#nav-col
的左右坐标之间保持大约100px
主要的困难是#container
会在调整窗口大小时动态居中。
有没有办法在纯CSS中执行此操作?
答案 0 :(得分:0)
我认为用纯CSS不可能..
你需要在该元素上使用position:fixed
,但它根本不会尊重它的容器..
答案 1 :(得分:0)
诀窍是在封闭容器上使用实际上,它足以在{{1}之后不指定position: relative
。left
或top
}。这似乎可以解决问题。我还将您的样式移动到CSS中,并删除了900px宽度(for testing purposes)。
position: fixed
#container {
position: relative;
margin: 0 auto;
}
#container #left {
float: left;
width: 100px;
}
#container #main {
padding-right: 200px;
padding-left: 100px;
}
#container #nav-col {
float: right;
width: 200px;
margin-left: -200px;
}
#container #navigation-list {
position: fixed;
}