【发布时间】:2021-10-02 18:55:56
【问题描述】:
我在我的 React 应用的 JSX 中有一个导航栏组件,其类为 column-left:
<animated.div className="column-left" style={anim}>
<div className="top">
<img src={logo} alt="quicknote" style={{ height: "200px" }}/>
<h1>Hello, {user.firstName}</h1>
<button id="new-note"><span>+</span> New Note</button>
</div>
<div className="bottom">
<button onClick={() => setAcctSettingsVis(true)}>Account Settings</button>
<button onClick={handleClick}>Log Out</button>
</div>
</animated.div>
然后我在我的 SCSS 中使用类名来定位该元素,并应用 position: sticky 属性以及 0 的 top 位置来告诉它粘贴在哪里:
.column-left {
position: -webkit-sticky;
position: sticky;
top: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
height: 100vh;
min-width: 20rem;
//...
}
但是当我的页面的主要内容超出窗口视图高度并且我向下滚动时,导航栏不会粘住。我很困惑,因为我以前在其他项目上使用过这个设置,而且效果很好。我在这里错过了什么?
【问题讨论】:
-
如果您使用了隐藏在任何父组件中的溢出,则粘滞将不起作用,请检查
-
啊哈,这就是解决办法。你知道的越多。谢谢!
-
很高兴为您提供帮助...