当从无到有位置时,我如何防止div改变宽度:修复?

时间:2014-06-03 13:57:00

标签: jquery css position fixed sidebar

我已使用此代码:http://andrewhenderson.me/tutorial/jquery-sticky-sidebar/

让我的侧栏粘。

然而,只要浏览器的顶部碰到侧边栏的顶部并且其位置变得固定,侧边栏的宽度就会改变。

这是我的容器和侧边栏的CSS:

#content-wrap {
height:auto;
min-height:100%;
width:80%;
background:#fff;
display:block;
margin:0 auto;
}

#content {
min-height:100%;
padding-top:5%;
padding-bottom:5%;
height:auto;
margin:0 auto;
overflow:auto;
}

.sidebar {
width:25%;
background: #333;
float:left;
display:inline-block;
height:250px;
color:white;
overflow:visible;
max-width:277px;
}

有谁能告诉我如何解决这个问题?

jsfiddle:http://jsfiddle.net/SeanKendle/GdLw8/1/

注意:宽度必须为%。

2 个答案:

答案 0 :(得分:0)

如果您希望页面保持相同的宽度,您可以在侧边栏div周围放置另一个div,设置为25%宽度(基本上与.sidebar的样式相同)。当侧边栏变为fixed并持有该空格,直到它返回到relative定位时,它将保持不变并且#34;掉落"。

答案 1 :(得分:0)

如前所述,您可以使用相同的尺寸将元素包裹在固定的定位元素周围。

var div = $('<div>', {
    width : $('#sourceElm').width(),
});

$('#sourceElm').wrap(div);