Javascript 将一个固定元件放置在另一个固定元件下方
我有两个固定元素,其中一个可以是Javascript 将一个固定元件放置在另一个固定元件下方,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有两个固定元素,其中一个可以是 显示:块或显示:无。另一个固定元素总是可见的。我希望这些元素能够贴在网站的顶部,而不是相互重叠 我找到的唯一建议解决方案就是这些问题: 将两个div放在另一个容器div中,并将其设置为 固定的 但是我不能这样做,因为这两个元素在代码中处于不同的位置,我无法更改 下面是一段代码片段,演示了我的问题: nav, .第二菜单{ 位置:固定; 高度:120px; 不透明度:1; 排名:0; 宽度:100%; 背景:浅灰色; } .第二菜单{ 高度:50px; 背景
显示:块
或显示:无
。另一个固定元素总是可见的。我希望这些元素能够贴在网站的顶部,而不是相互重叠
我找到的唯一建议解决方案就是这些问题:
将两个div放在另一个容器div中,并将其设置为
固定的
但是我不能这样做,因为这两个元素在代码中处于不同的位置,我无法更改
下面是一段代码片段,演示了我的问题:
nav,
.第二菜单{
位置:固定;
高度:120px;
不透明度:1;
排名:0;
宽度:100%;
背景:浅灰色;
}
.第二菜单{
高度:50px;
背景:灰色;
不透明度:1;
z指数:2;
}
身体{
高度:1000px;
}
可能存在或不存在,并覆盖其他导航
用相对位置将两者分开的其他东西
为两者创建一个支架是正确的方法。
但在您的情况下,您可以定位这两个已修复的。
当另一个元素被隐藏或显示时,您可以通过Javascript处理这两个元素样式(即顶部和左侧属性)
试试下面这样
这可以在第二个导航的高度上添加一个“顶部”,就像我在这里做的那样 注意:这不是完整的解决方案:如果您只想显示第二个导航,可以使用js将“top”设置回0
nav,
.第二菜单{
位置:固定;
高度:120px;
不透明度:1;
排名:0;
宽度:100%;
背景:浅灰色;
}
.第二菜单{
高度:50px;
背景:灰色;
不透明度:1;
z指数:2;
顶部:120px;
}
身体{
高度:1000px;
}
可能存在或不存在,并覆盖其他导航
用相对位置将两者分开的其他东西
您试过粘性套件吗
Sticky kit提供了一种简单的方法,可以在用户滚动时将元素附加到页面上,从而使元素始终可见。如果元素实际上是DOM中的同级元素,并且第一个元素的显示是通过JavaScript动态设置/删除的类来切换的,那么剩下的部分可以单独在CSS中处理,使用通用同级组合器
~
@misorude,通过内联样式切换第一个元素的显示。这是个好主意!我的意思是,我原本打算把第二个菜单放在最上面,但我忘了在问题中指定它,而把它放在第一个菜单下面也行。所以我想这是正确的解决方案。谢谢:)