3

这是有问题的页面:Link

查看右侧边栏,其粉红色背景显示 POLL。该侧边栏当前作为固定浮动 div 向下滚动。没关系。

问题是当滚动触发它进入时它会改变宽度position:fixed。我已将背景颜色更改为黄色,以便您可以看到它的发生。显然,我想保持宽度。

这是一个响应式网站,因此像素宽度不是一个选项。

控制它的 CSS 是:

#comment {
position: relative;
top: 0;
background:pink;
}

#comment.fixed {
position: fixed;
width:inherit;
top: 0;
background:yellow;
}

使我width成为inherit100%无助于解决困扰我的问题。

控制固定 div 的 jquery 代码位于源代码的第 50 行。整个 Poll 区域从源代码的第 339 行开始。万一这也有帮助。

我知道这position:fixed会将属性变成继承视口的值而不是其相对父级。但我猜有一个解决方案......我不介意它是否涉及一些额外的 javascript 或 jquery 来让它发挥作用。

谢谢。

4

1 回答 1

2

您可以像这样动态设置 CSS:

var newWidth = $('#comment').parent().width();
$('#comment').width(newWidth);

然后,当您删除课程时fixed,您只需添加该行:

$('#comment').removeAttr('style');
于 2013-05-23T23:44:34.060 回答