我有两个浮动菜单。向下滚动时,它们的位置设置为,fixed
以便它们top
和left
相对于窗口。我将它们的left
属性设置为0
它们按预期粘在窗户上。但是,当我将其设置为1
或任何更大的数字时,它们会粘在容器上。
有人知道为什么吗?
我有两个浮动菜单。向下滚动时,它们的位置设置为,fixed
以便它们top
和left
相对于窗口。我将它们的left
属性设置为0
它们按预期粘在窗户上。但是,当我将其设置为1
或任何更大的数字时,它们会粘在容器上。
有人知道为什么吗?
最终答案:
left: 0;
- 正确的
left: 1;
- 不正确
left: 1px;
或left: 1%;
- 正确
对于 > 0 的值,应指定一个单位。
很高兴你解决了
您应该使用 left:1px 而不是 left:0。
在 CSS 中,如果要将任何属性设置为 0,则无需提供单位(px、em 等),但如果要将其设置为任何非零值(此处为 1),则必须提及有效单位.
.menuFloat{ z-index: 9999; position: fixed; left: 1px; top: 0; width: 100%;}
bboy 已经在他的评论中说过:
left: 1;
是一个无效值,因为它缺少单位(CSS 中的所有长度值都需要一个单位,除非该值为 0)。
这也是您在此处遇到的行为的解释:对于绝对或固定定位,如果您没有为left
(因此应用默认值auto
)。而且由于您使用了无效值,因此您实际上根本没有给出值。