答案 0 :(得分:2)
通过提供等于固定列宽度的margin
到 #main ,它会使该区域不会向左捕捉。将position:fixed
应用于列时,它会将这些元素从文档流中取出。
由于position:fixed
动态地应用于列(通过使用JS),您也可以考虑动态地将margin
应用于 #main ,如果是仅限时间目的。
答案 1 :(得分:0)
当页面滚动时,您通过应用课程position:fixed
和#aside
将#bside
设置为fixed
和fixed2
元素。< / p>
由于position:fixed
适用于#aside
和#bside
,因此将其从文档流中移出,元素#main
按预期向左浮动。
为避免更改当前代码,一个简单的解决方案是使用类为您的#main
元素设置某些样式,并根据需要应用该类:
请参阅此working Fiddle示例。
<强> CSS 强>
.fixMiddle {
position: relative;
left: 190px; /* your #aside width+padding+border */
}
<强>的jQuery 强>
if ($('#aside').hasClass('fixed')) {
$('#main').addClass('fixMiddle');
} else {
$('#main').removeClass('fixMiddle');
}