简体   繁体   English

滚动时不显示标题下方的粘性位置侧边栏

[英]sticky position sidebar beneath the header not showing while scrolling

I'm trying to show the sidebar below the header initially, which works fine when the user lands on the website, but when a user scrolls the page, the sidebar not taking the full height, basically I want to achieve sidebar to be fixed at the left once user scrolls just like shown here .我最初试图在标题下方显示侧边栏,当用户登陆网站时效果很好,但是当用户滚动页面时,侧边栏没有占据全高,基本上我想实现侧边栏固定在左边一次用户滚动就像这里显示的那样。

Here is my code snippet这是我的代码片段

 html, body { height: 100%; } .header { border: 1px solid black; height: 60px; width: 100%; display: flex; justify-content: center; align-items: center; } .body { height: 100%; background-color: tomato; display: flex; padding-bottom: 2000px; } .sidebar { width: 30%; position: -webkit-sticky; position: sticky; height: 100%; background: black; color: white; /* top: 0px; */ } .content { padding: 80px; }
 <div class="header">HEADER</div> <div class="body"> <div class="sidebar">SIDEBAR</div> <div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio saepe tempora, voluptas quidem provident atque iste officiis repudiandae expedita, impedit error maxime laboriosam sit qui porro, quo eligendi inventore fugit.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam non, omnis saepe error nesciunt magnam velit architecto! Pariatur possimus culpa dolor soluta laudantium at neque, consequuntur, mollitia sunt, necessitatibus vitae!Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt laboriosam, facere laborum totam in qui ex illum necessitatibus, minus numquam enim! Distinctio facilis est reprehenderit sunt quasi consequuntur ullam autem.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum ut doloremque cupiditate facilis aliquid, voluptatibus at illo similique velit sequi dignissimos consectetur placeat, vero excepturi neque facere tempore id ratione.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem dignissimos veritatis libero praesentium reprehenderit sequi. A, repellendus, hic. Laborum, et ea voluptas facere! Enim id soluta optio, quam totam officiis!</div> </div>

I removed height:100% on body and html and also .height , because there is no goal of that as they are adapting their height based on content.我删除了 body 和 html 以及.height上的height:100% ,因为没有目标,因为它们正在根据内容调整高度。

Then I fixed the sidebar height to 100vh.然后我将侧边栏高度固定为 100vh。

Now it is fixed.现在它是固定的。 It only leaves at the end because you added a padding-bottom: 2000px;它只在最后离开,因为您添加了padding-bottom: 2000px; in your .body container.在您的 .body 容器中。

 html, body { /*height: 100%;*/ } .header { border: 1px solid black; height: 60px; width: 100%; display: flex; justify-content: center; align-items: center; } .body { /*height: 100%;*/ background-color: tomato; display: flex; padding-bottom: 2000px; } .sidebar { width: 30%; position: -webkit-sticky; position: sticky; height: 100vh; background: black; color: white; top: 0; } .content { padding: 80px; }
 <div class="header">HEADER</div> <div class="body"> <div class="sidebar">SIDEBAR</div> <div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio saepe tempora, voluptas quidem provident atque iste officiis repudiandae expedita, impedit error maxime laboriosam sit qui porro, quo eligendi inventore fugit.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam non, omnis saepe error nesciunt magnam velit architecto! Pariatur possimus culpa dolor soluta laudantium at neque, consequuntur, mollitia sunt, necessitatibus vitae!Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt laboriosam, facere laborum totam in qui ex illum necessitatibus, minus numquam enim! Distinctio facilis est reprehenderit sunt quasi consequuntur ullam autem.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum ut doloremque cupiditate facilis aliquid, voluptatibus at illo similique velit sequi dignissimos consectetur placeat, vero excepturi neque facere tempore id ratione.Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem dignissimos veritatis libero praesentium reprehenderit sequi. A, repellendus, hic. Laborum, et ea voluptas facere! Enim id soluta optio, quam totam officiis!</div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM