这是有问题的页面:Link .
请看右侧边栏,粉红色背景显示 POLL。 该侧边栏当前作为固定的 float div 向下滚动。没关系。
问题是当滚动触发它进入 position:fixed
时它会改变宽度。我已将背景颜色更改为黄色,以便您可以看到它的发生。显然,我想保持宽度。
这是一个响应式网站,因此像素宽度不是一个选项。
控制它的CSS是:
#comment {
position: relative;
top: 0;
background:pink;
}
#comment.fixed {
position: fixed;
width:inherit;
top: 0;
background:yellow;
}
将 width
设置为 inherit
或 100%
并不能解决我的问题。
控制固定 div 的 jquery 代码在源代码的第 50 行。整个 Poll 区域从源代码中的第 339 行开始。以防万一。
我知道 position:fixed
将属性转换为继承视口(viewport)的值而不是其相对父级。但我猜想有一个解决方案......我不介意它是否涉及一些额外的 javascript 或 jquery 来使其正常运行。
谢谢。
最佳答案
您可以像这样动态设置 CSS:
var newWidth = $('#comment').parent().width();
$('#comment').width(newWidth);
然后当您删除 fixed
类时,您只需添加该行:
$('#comment').removeAttr('style');
关于jquery - 如何为需要位置 :Fixed 的固定 float Div 保持父级宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724893/