jquery - 如何为需要位置 :Fixed 的固定 float Div 保持父级宽度

标签 jquery css

这是有问题的页面: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 设置为 inherit100% 并不能解决我的问题。

控制固定 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/

相关文章:

jQuery 富文本编辑器

javascript - 更改功能前的默认值

jquery - 修复无样式内容的 Flash (FOUC)

jquery - float FancyBox?

javascript - 减去两个文本字段并在 javascript 或 jquery 中显示第三个结果

html - 使用 z-index 的链接即使在顶部,也无法在 Firefox 和 IE 中单击

jquery - 动画div从右侧滑动

javascript - 带有占位符文本的文本框,该字符逐个字符消失

javascript - Angular 2 在 [ngStyle] 中设置背景图像和颜色

javascript - .before()/.after() 元素不会自动关闭