粘滞导航活动状态在单击而不是滚动时起作用

时间:2019-06-10 10:23:50

标签: css scroll nav sticky box-shadow

我在页面顶部有一个导航栏,我试图使一个框形阴影出现在滚动下方。

我尝试使用.active和:active没有运气。我可以强制阴影出现在chrome devtools中,但不能使其在滚动状态下起作用。

.sidenav-breadcrumbs {
    height: 45px; 
    font-size: 16px; 
    font-weight: bold; 
    background: red;
}
.nav-fixed-top {
    position: fixed;
    top: 100px;
    right: 0;
    left: 0;
    z-index: 1020;
}
.shadow:active {
    box-shadow: 0 0 10px rgba(0,0,0,0.4)!important;
}

阴影应出现在滚动条的下方,但似乎仅在单击该条时出现。 谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Active selector适用于单击的元素,这就是为什么在单击条时出现阴影的原因。没有用于滚动的选择器,因此您应该使用JavaScript在滚动时添加shadow类。

document.addEventListener("scroll", function(){
    addShadowClassToBar();
});

并且由于您可能想在滚动完成后删除阴影,因此也应该删除该类。 Here是上一个有关检测滚动停止的问题。