简体   繁体   English

页脚不粘贴到底部视口

[英]footer not sticking to bottom viewport

I'm using the fullpage.js and on the second section scrolloverflow.js is active. 我正在使用fullpage.js,第二部分中的scrolloverflow.js处于活动状态。 for the second section I'd like a footer that sticks to the bottom of the viewport. 对于第二部分,我想要一个贴在视口底部的页脚。 instead of doing so, the footer stays in place while scrolling within the content of the second section as you can see in the jsfiddle. 而不是这样做,而是在jsfiddle中看到的第二部分内容中滚动时,页脚保持不变。 Is there a way to keep the footer locked to the bottom of the viewport of the second section only? 有没有一种方法可以将页脚仅锁定在第二部分的视口底部?

Thanks in advance. 提前致谢。

snippet is not displaying accordingly, so jsfiddle which works: https://jsfiddle.net/L1fhbj36/20/ 片段未相应显示,因此jsfiddle可以正常工作: https ://jsfiddle.net/L1fhbj36/20/

Snippet: 片段:

  $(document).ready(function() { $('#fullpage').fullpage({ sectionsColor: ['#FFF', '#FFF'], scrollOverflow: true, }); }); 
  body { background: #FFF; } html, body { height: 100%; margin: 0 auto; } html { overflow-y: auto; } #splash { position: absolute; left: 0; bottom: 0; top: 0; right: 0; width: 100%; height: 100%; background-size: 100% 100%; background-color: #FFF; background-image: url("https://thenypost.files.wordpress.com/2017/06/duck.jpg?quality=90&strip=all"); background-size: cover; } #section0 .layer { position: absolute; z-index: 4; width: 100%; left: 0; top: 43%; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } #section0 { overflow: hidden; } .footer { width: 100%; height: 3em; left: 0; bottom: 0; position: fixed; background-color: grey; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="fullpage"> <div class="section" id="section0"> <div id="splash"></div> </div> <div class="section" id="section1"> <div> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> <div class="footer"></div> </div> </div> 

According to the docs you were missing the fixedElements option. 根据文档,您缺少fixedElements选项。 I added that and created a working snippet. 我添加了该代码并创建了一个有效的代码段。

Also, here's the updated fiddle as well https://jsfiddle.net/L1fhbj36/63/ 另外,这也是更新的小提琴https://jsfiddle.net/L1fhbj36/63/

 $(document).ready(function() { $('#fullpage').fullpage({ sectionsColor: ['#FFF', '#FFF'], scrollOverflow: true, fixedElements: '.footer' }); }); 
 body { background: #FFF; } html, body { height: 100%; margin: 0 auto; } html { overflow-y: auto; } #splash { position: absolute; left: 0; bottom: 0; top: 0; right: 0; width: 100%; height: 100%; background-size: 100% 100%; background-color: #FFF; background-image: url("https://thenypost.files.wordpress.com/2017/06/duck.jpg?quality=90&strip=all"); background-size: cover; } #section0 .layer { position: absolute; z-index: 4; width: 100%; left: 0; top: 43%; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } #section0 { overflow: hidden; } .footer { width: 100%; height: 3em; left: 0; bottom: 0; position: fixed; background-color: grey; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.6/jquery.fullpage.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.6/jquery.fullpage.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.6/vendors/scrolloverflow.min.js"></script> <div id="fullpage"> <div class="section" id="section0"> <div id="splash"></div> </div> <div class="section" id="section1"> <div> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> <div class="footer"></div> </div> </div> 

Just place the fixed element outside the fp-scrollable one by using javacript on the afterRender callback. 只需在afterRender回调上使用javacript,将固定元素放在fp-scrollable外部afterRender

Then use position:absolute for it instead of fixed and use position:relative for .fp-section or .section . 然后对它使用position:absolute而不是fixed,对.fp-section.section使用position:relative

you gave your footer position attribute fixed.. try absolute instead 您已将页脚位置属性设置为固定。

 .footer { width: 100%; height: 3em; left: 0; bottom: 0; position: absolute; background-color: grey; } 

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

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