我正在寻找一种方法来创建一个垂直固定在页面上的div,所以如果用户向下滚动,该div将保持在页面上的同一位置。但是水平位置必须是绝对定位的,所以如果用户的屏幕比我的网页窄,向左或向右滚动不会导致div随着屏幕移动,在某些情况下,它将保持在屏幕边缘处或完全离开页面。
这个div必须在一个“Position:Relative” 的div内部。
我相当确定无法将div的不同轴分配给不同位置,但这是描述我希望实现的效果的最佳方式。
到目前为止,我只能得到一个基本上就是在一个相对定位的div中使用了一个固定的div的结果。
CSS
#container {
position:relative;
width:700px;
height:1000px;
top:50px;
left:50px;
background-color:yellow;
}
#blue-box{
position:fixed;
width:100px;
height:100px;
background-color:blue;
margin-top:20px;
margin-left:400px;
{
HTML
<div id="container">
<div id="blue-box"></div>
</div>
我还创建了一个jsFiddle,以帮助演示这个问题。
在垂直方向上它运行得很好,但如果您调整浏览器大小使其小于黄色框(容器),然后水平滚动,蓝色框将会随着页面移动。我希望能够阻止这种情况发生。
如果没有通过CSS实现的方法,只要能够支持所有现代浏览器和IE7、IE8,我就可以使用JavaScript。(这也是为什么我添加了JavaScript标签的原因)
有人能帮帮我吗?