Jquery CSS基于左属性相对于父/窗口的固定属性

Jquery CSS基于左属性相对于父/窗口的固定属性,jquery,css,css-position,Jquery,Css,Css Position,我有两个浮动菜单。向下滚动时,它们的位置设置为“固定”,这样它们的“顶部”和“左侧”相对于窗口。我将它们的left属性设置为0它们会按预期粘贴到窗口。但是,当我将其设置为1或任何更大的数字时,它们会粘在容器上 有人知道为什么吗?你应该使用left:1px而不是left:0 在CSS中,如果要将任何属性设置为0,则不需要提供单位(px、em等),但如果要将其设置为任何非零值(此处为1),则必须提及有效单位 bboy在评论中已经说过: 左:1是无效值,因为它缺少单位(CSS中的所有长度值都需要

我有两个浮动菜单。向下滚动时,它们的位置设置为“固定”,这样它们的“顶部”和“左侧”相对于窗口。我将它们的
left
属性设置为
0
它们会按预期粘贴到窗口。但是,当我将其设置为
1
或任何更大的数字时,它们会粘在容器上


有人知道为什么吗?

你应该使用left:1px而不是left:0

在CSS中,如果要将任何属性设置为0,则不需要提供单位(px、em等),但如果要将其设置为任何非零值(此处为1),则必须提及有效单位


bboy在评论中已经说过:

左:1
是无效值,因为它缺少单位(CSS中的所有长度值都需要一个单位,除非该值为0)

这也是对您在这里所经历的行为的解释:对于绝对或固定定位,如果元素根本没有定位,如果您没有为
left
指定值(因此应用默认值
auto
),则元素将保持在正常流中的水平位置。由于使用了无效的值,实际上根本没有给出值。

最终答案:

左:0-正确

左:1-不正确

左:1px或<代码>左侧:1%-正确

对于大于0的值,应指定一个单位


很高兴你解决了它

你需要实现什么?你不能只剩下
:1如果你有
left:0
你不需要指定一个单位,但是如果你的left>0,你需要指定一个单位(px,%,etc)。两个链接在Chrome.px中呈现相同的效果!我觉得自己很无能。现在工作。谢谢
.menuFloat{ z-index: 9999; position: fixed; left: 1px; top: 0; width: 100%;}